Python新手求助:输入'quit'无法退出循环程序,求排查原因
问题分析与修复
你的代码存在两个关键问题,导致输入quit可能无法正常触发退出:
- 运算符使用错误:
while n <= 4 & True里的&是位运算符,而非逻辑与运算符and。虽然此处未报错,但逻辑不符合预期,多条件判断需用and连接。 - 循环次数受限:每次循环执行
n = n + 2,初始n=1,循环仅会执行2次(n=1和n=3),可能还没等你输入quit,循环就已提前结束。
另外,你的需求是输入quit就退出程序,完全不需要用变量n限制循环次数,直接用while True构建无限循环,配合break退出更贴合需求。
修正后的代码
prompt = "\nPlease enter the name of the city you have visited." prompt += "\nEnter 'quit' when you're finished." while True: city = input(prompt) if city == 'quit': break print(f"\nI'd love to go to {city.title()}!")
改动说明
- 移除了多余的变量
n和循环次数限制,用while True实现持续接收输入,直到用户输入quit。 - 删除了不必要的
else分支,因为break会直接退出循环,分支内代码无需额外包裹。
内容的提问来源于stack exchange,提问作者Mohammad Atif
相关产品推荐
相关产品推荐

