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

Python入门练习:使用字典匹配多语言问候的输入输出问题求助

问题原因
  • 代码仅执行了1次input()读取输入,后续的for循环是遍历字典的所有键并打印对应值,没有实现逐行读取用户输入、匹配输入内容的逻辑
  • 存储用户输入的变量名key和遍历字典键的循环变量重名,用户输入的内容直接被后续循环变量覆盖,完全没有参与匹配判断
  • 终止输入的#判断逻辑写在字典键遍历的循环里,字典本身不存在#这个键,永远无法触发终止逻辑
修正后代码
# 定义问候语与语言的映射字典
greet_map = {"HELLO":"ENGLISH", "HALLO":"AFRIKAANS", "BONJOUR":"FRENCH", "MOLO":"ISIXHOSA", "SAWUBONA":"ISIZULU", "MARHABA":"ARABIC"}

while True:
    # 逐行读取输入
    line = input()
    # 遇到仅含#的行直接终止循环
    if line == '#':
        break
    # 匹配字典,存在则输出对应值,否则输出UNKNOWN
    print(greet_map.get(line, 'UNKNOWN'))
逻辑说明
  • 用while True实现无限循环逐行读取输入,满足最多1000行输入的需求
  • 每读取一行先判断是否为#,符合终止条件直接跳出循环,不处理该行
  • 调用字典的get()方法匹配输入内容,存在对应键则返回对应语言名称,不存在则返回默认值UNKNOWN,完全符合输出规则要求

内容的提问来源于stack exchange,提问作者Joanna Green

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.16 13:24:04