如何让Python的if判断不区分大小写并统一首字母大写输出?
解决方案
你可以通过统一输入的大小写来做匹配判断,同时用字符串方法格式化输出的名字,代码修改如下:
name = input("Enter your name: ").strip() # 把输入转成小写,和小写的目标名字匹配,忽略输入的大小写 if name.lower() in ["alice", "thabo"]: # 用capitalize()将名字转成首字母大写、其余小写的格式 print(f"Hello, {name.capitalize()}")
关键修改点说明:
strip():去掉用户输入前后的空格,避免因为输入带空格(比如alice)导致匹配失败name.lower():把输入的名字统一转成小写,这样不管输入Alice、ALICE还是aLiCe,都能和列表里的小写名字匹配上name.capitalize():专门用来将单个字符串转成首字母大写、其余字母小写的格式,正好满足你要的输出效果
你之前用.upper()没成功,大概率是只改了判断条件,但输出时还是用了原始输入的名字——比如输入alice,判断时转成ALICE匹配成功,但输出的还是alice,没有格式化输出格式。上面的代码同时解决了匹配和输出格式两个问题。
内容的提问来源于stack exchange,提问作者45984530
相关产品推荐
相关产品推荐

