You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何根据输入的星期从Python字典中提取对应键?

问题分析与解决方案

你的代码问题出在字典结构和查找逻辑不匹配:当前字典的键是价格数值,值是对应星期的列表,而你用day in day_price_dict是在检查输入的星期是否是字典的键——显然不可能,因为键是12、14、16这类数字,自然找不到匹配项。

下面提供两种可行的修正方案:

方案1:反转字典结构(推荐)

直接把星期作为键,对应价格作为值,这样可以通过输入的星期快速查找对应价格,效率更高:

day = input().strip()

# 调整字典结构:星期为键,价格为值
day_price_dict = {
    'Monday': 12,
    'Tuesday': 12,
    'Friday': 12,
    'Wednesday': 14,
    'Thursday': 14,
    'Saturday': 16,
    'Sunday': 16
}

# 用get方法避免输入无效星期时报错
print(day_price_dict.get(day, "输入的星期无效"))

方案2:遍历原字典查找

如果不想修改原字典的结构,可以遍历字典的键值对,检查输入的星期是否在对应的值列表中:

day = input().strip()

day_price_dict = {12: ['Monday', 'Tuesday', 'Friday'], 14: ['Wednesday', 'Thursday'], 16: ['Saturday', 'Sunday']}

# 遍历字典的键值对
for price, days in day_price_dict.items():
    if day in days:
        print(price)
        break
else:
    # 循环正常结束(未找到匹配项)时执行
    print("输入的星期无效")

内容的提问来源于stack exchange,提问作者Vasil Vasilev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 12:15:40