如何在While循环中判断输入为空?购物清单程序问题求助
购物清单跟踪程序的正确While循环实现方法
你的原代码存在两个核心问题:
- 用整数变量
i作为循环判断条件,i初始值是0,后续只会累加数字,永远不可能等于空字符串'',导致循环无限运行 - 没有把用户的输入内容作为终止循环的判断依据,完全偏离了需求逻辑
下面是两种符合需求的正确写法:
写法一:无限循环+条件跳出
shopping_list = [] while True: item = input('请输入要添加的商品(直接回车结束):') if not item: # 当输入为空字符串时,not item结果为True break shopping_list.append(item) print('你的购物清单:', shopping_list)
这种写法用while True创建无限循环,每次获取用户输入后判断是否为空,为空就用break跳出循环,逻辑直观易懂。
写法二:用输入内容作为循环条件
shopping_list = [] item = input('请输入要添加的商品(直接回车结束):') while item != '': shopping_list.append(item) item = input('请输入要添加的商品(直接回车结束):') print('你的购物清单:', shopping_list)
这种写法先获取一次用户输入,然后以输入内容是否为空作为循环条件,只要输入不为空就继续执行循环,每次循环末尾重新获取下一个输入。
两种写法都能实现「持续询问直到用户输入为空,然后展示购物清单」的需求,可根据个人习惯选择。
内容的提问来源于stack exchange,提问作者vatusha
相关产品推荐
相关产品推荐

