首页 文章

为什么我不能突破while循环?

提问于
浏览
1

我一直在尝试根据用户输入创建一个国家及其资本的字典,但我似乎无法摆脱循环,即使我做了一个实例,它应该在用户输入“Q”的地方结束,“ Q“作为一对

capital_dict = {}

country,capital = input("Enter Country, Enter Capital").split(',')

while ('country','capital') != ('Q','Q'):
    capital_dict['country']=capital
    country,capital = input("Enter Country, Enter Capital").split(',')
else:
    print(capital_dict)

任何帮助表示赞赏!

2 回答

  • 4

    问题是您使用字符串而不是变量名进行比较 .

    另请注意,您可以通过 while True 子句避免重复逻辑:

    capital_dict = {}
    
    while True:
        country, capital = input("Enter Country, Enter Capital").split(',')
        if (country, capital) == ('Q', 'Q'):
            break
        capital_dict['country'] = capital
    
    print(capital_dict)
    
  • 0

    看看这一行:

    while ('country','capital') != ('Q','Q'):
    

    该行永远不会是 True ,因为字符串不应该是一个字符串元组,它应该是一个变量元组,所以如果用以下代码替换该行:

    while (country,capital) != ('Q','Q'):
    

    它将按预期工作 .

相关问题