如何根据用户输入匹配字典键名并将对应值赋值给变量?
如何根据用户输入将字典对应值赋值给变量?
我懂你的需求啦——就是想让用户输入字典里的键名后,把对应的数值替换到selection变量里对吧?这里给你几个实用的实现方案:
1. 基础条件判断法
最直观的方式就是先检查输入是否在字典的键集合里,再做赋值:
potions ={"small_health":15, "small_instant_exp":250} selection = input("Pick one: ") # 验证输入的键是否存在 if selection in potions: selection = potions[selection] else: print("不好意思,没有这个药剂选项哦!")
举个例子:如果用户输入small_instant_exp,selection就会变成250;要是输入了字典里没有的内容,还会弹出提示信息。
2. 简洁高效的get()方法
字典自带的get()方法能一步到位,还能设置默认值处理无效输入:
potions ={"small_health":15, "small_instant_exp":250} selection = input("Pick one: ") # get方法第一个参数是要查找的键,第二个是键不存在时的默认值 selection = potions.get(selection, "无效的选择")
这种写法更简洁,要是用户输入的键不存在,selection就会被设为你指定的默认内容——你可以把默认值改成0、None或者其他符合你需求的内容。
额外优化:处理大小写差异
如果担心用户输入时大小写不统一(比如输入Small_Health),可以把输入转成小写再匹配:
potions ={"small_health":15, "small_instant_exp":250} selection = input("Pick one: ").lower() selection = potions.get(selection, "无效的选择")
这样不管用户输入大写、小写还是混合大小写,都能精准匹配到对应的键啦。
内容的提问来源于stack exchange,提问作者Kiko Blackegg
相关产品推荐
相关产品推荐

