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

Python如何从字典中取值使其可在while循环中正常运行

代码存在的问题

  • 缩进不符合Python语法规范,while循环体内的代码没有缩进,运行会直接报错
  • 输入值类型不匹配:input()返回的是字符串类型,和sterling["age"]的整数类型直接对比永远不相等,会陷入死循环
  • 最终输出逻辑不合理,固定打印answer没有对应业务意义

可正常运行的基础版本

sterling = { "name": "Hifenn Sterling", "age": 23, "ethnicity": "Haitian American"}
guess = None

while guess != sterling["age"]:
    # 把输入的字符串转为整数再做对比
    guess = int(input("你觉得Sterling多大年纪?: "))

print("猜对了!")

兼容非法输入的优化版本

如果要避免用户输入非数字时程序直接崩溃,可以增加异常捕获逻辑:

sterling = { "name": "Hifenn Sterling", "age": 23, "ethnicity": "Haitian American"}
guess = None

while guess != sterling["age"]:
    try:
        guess = int(input("你觉得Sterling多大年纪?: "))
    except ValueError:
        print("请输入有效的数字年龄")

print("猜对了!")

内容的提问来源于stack exchange,提问作者Jeremiah Sterling

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 06:15:05