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

如何实现循环让用户重复输入直至输入正确的国家名称

实现循环输入国家名称直至匹配字典的解决方案

问题分析

你当前的代码仅支持最多两次输入验证,无法持续让用户输入直到匹配字典内的国家名称。另外原代码存在一处关键问题:country.lower()调用后没有重新赋值给变量——字符串是不可变类型,这个操作不会改变原变量的值,会导致输入大写字母时无法匹配字典里的小写键。

优化后的代码

population ={
    'china': '143',
    'india': '136',
    'usa': '32',
    'pakistan': '21'
}
population['bhutan'] = 2

print(population['china'])

while True:
    # 输入后直接转小写并赋值,确保和字典键的格式一致
    country = input("enter country name-").lower()
    if country in population:
        print(f"population {country} is: {population[country]} crore")
        # 匹配成功,跳出循环结束程序
        break
    else:
        print("input again")

代码说明

  • 用while True创建无限循环,只要用户输入不匹配就会持续要求重新输入
  • 每次输入后直接调用.lower()并赋值给country,彻底解决大小写不匹配的问题
  • 当输入的国家存在于字典中时,打印人口信息并通过break跳出循环,结束流程

原代码的额外修正点

  1. 修正拼写错误:把原代码里的countri改为country,避免误导用户
  2. 消除冗余代码:将两次重复的判断逻辑合并到循环内,减少不必要的代码重复

内容的提问来源于stack exchange,提问作者Swarnim Singh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 06:05:23