Python中While循环未按预期工作问题求助
问题分析与修复方案
原代码存在的问题
- 外层
while循环每次都会将counter重置为0,导致每次循环都执行第一个输入分支,反复显示"What would you like to add" counter +1是无效表达式,未实际修改counter的值,应改为counter += 1- 内层循环引用了未定义的变量
to_do_list,需替换为函数参数liist x == False是比较操作而非赋值,无法终止外层循环,应改为x = False- 嵌套
while的逻辑结构混乱,不符合需求的流程设计
修正后的代码
list1 = [1,2,3,4,5,6] def list_adder(liist): print("Here is the list:\n") def show_list(): for element in liist: print(element) show_list() # 第一次添加内容 add_input = input("\nWhat would you like to add:\n") liist.append(add_input) # 循环询问是否继续添加 while True: add_input = input("\nWhat else would you like to add to the list? (直接回车结束)\n") if not add_input: print("\n更新后的列表:") show_list() break liist.append(add_input) list_adder(list1)
代码逻辑说明
- 先打印展示初始列表
- 首次询问用户添加内容,将输入值加入列表
- 进入循环持续询问后续添加内容:
- 若用户直接回车(输入为空),则打印更新后的列表并终止循环
- 若输入有效内容,则将其加入列表,继续循环等待下一次输入
内容的提问来源于stack exchange,提问作者Monkey D Luffy
相关产品推荐
相关产品推荐

