如何在Python 3中实现用户输入的大小写不敏感匹配?
实现大小写不敏感的月份缩写匹配
解决这个问题的核心是统一用户输入和字典键的大小写格式,再调用.get()方法即可,无需修改原字典结构。
方法1:将用户输入转为与字典键一致的大小写
假设你的月份字典用大写缩写作为键,示例如下:
month_dict = { "JAN": "January", "FEB": "February", "MAR": "March", "APR": "April", # 补充剩余月份 }
只需要把用户输入的字符串先转成大写,再传给.get():
user_input = input("请输入月份缩写:").strip() # 先去除输入前后的空格 full_month = month_dict.get(user_input.upper(), "输入的缩写无效") print(full_month)
如果你的字典键是小写格式(比如"jan": "January"),就把用户输入转成小写:user_input.lower()。
方法2:兼容原字典混合大小写的键
如果原字典的键是混合大小写(比如{"Jan": "January", "feb": "February"}),可以先生成一个键统一大小写的新字典,再进行匹配:
original_month_dict = {"Jan": "January", "feb": "February", "Mar": "March"} # 生成键为全小写的映射字典 normalized_month_dict = {k.lower(): v for k, v in original_month_dict.items()} user_input = input("请输入月份缩写:").strip().lower() full_month = normalized_month_dict.get(user_input, "输入的缩写无效") print(full_month)
以上两种方式都能实现:不管用户输入JAN、jan还是Jan,都能正确返回对应的完整月份名。
内容的提问来源于stack exchange,提问作者BobDylanMadHatter
相关产品推荐
相关产品推荐

