为什么我不能退出while循环?

时间:2018-12-10 03:45:11

标签: python loops dictionary for-loop while-loop

我一直在尝试根据用户输入创建国家及其首都的词典,但是即使我创建了一个实例,在用户输入“ 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 个答案:

答案 0 :(得分:4)

看这行:

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

该行永远不会是True,因为字符串不会改变,请看第一个元组,它是字符串的元组,应该是变量的元组,因此,如果用以下内容替换该行: / p>

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

它将按预期工作。

答案 1 :(得分:0)

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

还请注意,您可以通过var result = from p in query where listReqNumber.Contains(p.RequisitionNumber) select p; 子句避免重复逻辑:

while True