Python入门求助:如何在代码中添加.lower()实现大小写不敏感判断
解决方法
直接对用户输入的城市名称调用.lower(),同时将验证用的城市列表转为全小写,就能实现不区分大小写的匹配:
while True: city = input("\nWhich city would you like to filter by? New York, Chicago or Washington?\n") if city.lower() not in ('new york', 'chicago', 'washington'): print("Error, please choose from one of the options listed") continue else: break
改动说明
city.lower():把用户输入的任意大小写组合(比如NEW YORK、New York)统一转换成全小写,确保匹配逻辑不受大小写影响。- 验证元组
('new york', 'chicago', 'washington'):把目标城市也转为全小写,和转换后的输入做对比,保证判断逻辑一致。
如果需要更易维护的写法,可以把合法城市列表单独定义:
# 提前定义全小写的合法城市列表 valid_cities = ('new york', 'chicago', 'washington') while True: city = input("\nWhich city would you like to filter by? New York, Chicago or Washington?\n") if city.lower() not in valid_cities: print("Error, please choose from one of the options listed") continue else: break
这样后续要新增或修改城市选项时,只需要调整valid_cities即可,不用改动判断逻辑部分。
内容的提问来源于stack exchange,提问作者Juan R
相关产品推荐
相关产品推荐

