如何让查询国家数据的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.")
关键改进点说明
- 循环结构:用
while True创建无限循环,只有当用户输入quit时才通过break退出程序,完美实现反复查询的功能。 - 优化数据存储:把国家数据放进字典里,比单独定义多个变量更简洁,后续新增国家数据也只需要在字典里加一行就行。
- 简化判断逻辑:将用户输入统一转为小写,不用再分别处理小写、大写、首字母大写的情况,避免了重复冗余的代码。
- 修正逻辑错误:你原来代码里的
Italy和India分支条件写错了(比如elif name == "Italy".lower() or "Italy".upper() or "Italy".title()),后面两个条件没和name做比较,会导致不管输入什么都会触发这个分支,现在用字典的方式彻底避免了这类问题。
使用方式
运行代码后,你可以反复输入国家名称查询数据,输入quit就能随时退出程序啦~
内容的提问来源于stack exchange,提问作者Mayank Sarkar
相关产品推荐
相关产品推荐

