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

Python 3中收集颜色的while循环无法正常退出,求助解决方法

解决Python循环无法正常退出的问题

你好呀!刚学Python遇到这种小问题完全不用不好意思,咱们一步步来搞定它~

你的循环没法正常退出,核心问题出在循环判断条件和你实际的结束操作不匹配:

  • 你写的条件是while colour != ' ',意思是只要输入不是空格就继续循环,但你实际结束时要么是按回车(此时input()返回的是空字符串'',不是空格),要么是输入了return,这俩都不满足“等于空格”的退出条件,所以循环就一直跑下去啦。

方案一:按回车直接退出(最直观的方式)

把循环条件改成检查输入是否为空字符串,因为用户按回车时,input()会返回空字符串'':

colours = [] 
prompt = 'Enter another one of your favourite colours (type return to end):' 
# 先获取第一次输入
colour = input(prompt) 
# 循环条件改为:只要输入不是空字符串就继续
while colour != '': 
    colours.append(colour) 
    colour = input(prompt) 

# 退出后可以打印列表验证结果
print("你的喜欢的颜色列表:", colours)

方案二:支持按回车或输入'return'退出

如果你想保留“输入return也能退出”的操作,可以把条件改成检查输入是否在允许的退出值里,还能兼容大小写输入:

colours = [] 
prompt = 'Enter another one of your favourite colours (type return or press enter to end):' 
colour = input(prompt) 
# 把输入转小写后,判断是否属于退出触发值
while colour.lower() not in ('', 'return'): 
    colours.append(colour) 
    colour = input(prompt) 

print("你的喜欢的颜色列表:", colours)

这样修改后,不管你是直接按回车,还是输入return/Return/RETURN,都能正常退出循环啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:48:26