countries={'TW':'Taiwan','JP':'Japan','AUS':'Australia'}
def add_country():
while True:
new_short=raw_input('Country Name in short:')
new_full=raw_input('Country Name in full:')
countries[new_short]=new_full
answer=raw_input('want to add more?')
if answer in ('yes'):
return True
if answer in ('no'):
return False
print countries
add_country()
我刚开始学Python。上面的代码不对,有人能帮我修一下吗?基本上,如果答案是yes,我只想重复一次循环,如果答案是no,我想跳出循环。返回True/False不返回while循环?
break
中断while循环:answer
是否在('yes',)
中,因为while True
默认情况下循环将继续循环:answer in ('no')
与answer in 'no'
相同,后者只会 如果answer
是'n'
或'o'
或'no'
,则为True。那可能不是 你的意思。最好使用answer == 'no'
。如果您在answer in ('no',)
中添加了逗号,那么('no',)
将是一个元组,并且如果answer
等于元组中的一个项,则满足条件。逗号在这里有很多意义!它只需要一些小的修正:
您需要使用
break
命令退出循环。相关问题 更多 >
编程相关推荐