Python循环读取用户输入数字按序打印列表及总和的代码修复
Python代码修改说明
现有问题
- 原有代码逻辑为每输入一个数字立即打印对应输出行,导致输入提示和输出内容交替出现,不符合统一打印的要求
- 错误处理逻辑不合理,输入过程中出现非数字值时,已输入的内容会被重置,需要重新输入全部5个数字
- 存在冗余循环变量,x和y功能重复
修改后代码
# 存储所有输入的有效数字 num_list = [] # 持续输入直到收集到5个有效数字 while len(num_list) < 5: try: # 若需保留原有输入提示,可替换为 input("number:") current_num = int(input(f"请输入第{len(num_list)+1}个数字:")) num_list.append(current_num) except ValueError: print("请输入有效的整数,重新输入当前值") # 全部输入完成后统一按要求格式打印 for index, num in enumerate(num_list, start=1): print(f"number{index}: {num}") # 计算并打印总和 total = sum(num_list) print(f"Sum: {total}")
核心修改点
- 新增列表存储所有输入的有效数字,输入阶段不打印输出内容
- 调整异常处理逻辑,仅要求用户重新输入当前错误的数值,无需重输全部内容
- 所有数字收集完成后,遍历列表统一打印所有number行,最后输出总和
内容的提问来源于stack exchange,提问作者user1684750
相关产品推荐
相关产品推荐

