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

如何让查询国家数据的Python代码支持重复输入?

解决重复查询国家疫情数据的问题

嘿,这个需求很好实现,咱们只需要给代码加上循环结构,就能让它在显示完数据后自动回到输入提示,支持反复查询啦!另外我还发现你代码里有两处逻辑小问题,也一起帮你修正了~

修正后的完整代码

print("Type the name of the country to reveal its data (type 'quit' to exit)")
# 用字典存储国家数据,比单独定义变量更清晰易维护
country_data = {
    "usa": """Total Cases : 739,502 Total Recovered : 68,442 Total Deaths : 39,040""",
    "france": """Total Cases : 151,793 Total Recovered : 35,983 Total Deaths : 19,323 """,
    "germany": """Total Cases : 144,033 Total Recovered : 88,000 Total Deaths : 4,545""",
    "india": """Total Cases : 16,365 Total Recovered : 2,466 Total Deaths : 521""",
    "italy": """Total Cases : 175,925 Total Recovered : 44,927 Total Deaths : 23,227"""
}

# 无限循环,直到用户输入quit退出
while True:
    name = input().strip().lower()  # 统一转小写,简化判断逻辑
    if name == "quit":
        print("Exiting the program...")
        break
    # 检查输入的国家是否在数据字典中
    if name in country_data:
        print(country_data[name])
    else:
        print("Sorry, we don't have data for that country. Please try another one.")

关键改进点说明

  1. 循环结构:用while True创建无限循环,只有当用户输入quit时才通过break退出程序,完美实现反复查询的功能。
  2. 优化数据存储:把国家数据放进字典里,比单独定义多个变量更简洁,后续新增国家数据也只需要在字典里加一行就行。
  3. 简化判断逻辑:将用户输入统一转为小写,不用再分别处理小写、大写、首字母大写的情况,避免了重复冗余的代码。
  4. 修正逻辑错误:你原来代码里的Italy和India分支条件写错了(比如elif name == "Italy".lower() or "Italy".upper() or "Italy".title()),后面两个条件没和name做比较,会导致不管输入什么都会触发这个分支,现在用字典的方式彻底避免了这类问题。

使用方式

运行代码后,你可以反复输入国家名称查询数据,输入quit就能随时退出程序啦~

内容的提问来源于stack exchange,提问作者Mayank Sarkar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 10:47:53