Python入门:如何询问用户是否重复执行for循环程序?
解决方法
要实现重复执行的功能,必须使用while循环——把整个统计逻辑包裹在一个无限循环里,执行完一轮统计后,通过y/n交互判断是否继续循环。
修改后的完整代码(已汉化提示):
while True: # 获取要统计的数字数量,并做输入验证 try: count = int(input("你想输入多少个数字?")) if count <= 0: print("请输入正整数!") continue except ValueError: print("请输入有效的整数!") continue total_sum = 0 neg_sum = 0 pos_sum = 0 for i in range(count): # 逐个获取数字并做输入验证 try: num = float(input(f"请输入第{i+1}个数字:")) except ValueError: print("请输入有效的数字!") continue total_sum += num if num < 0: neg_sum += num elif num > 0: pos_sum += num print("------") print(f"所有数字的总和 = {total_sum}") print(f"负数的总和 = {neg_sum}") print(f"正数的总和 = {pos_sum}") # 询问是否继续执行 while True: choice = input("是否重复执行程序?(y/n): ").strip().lower() if choice in ['y', 'n']: break print("请输入y或n!") if choice == 'n': print("程序结束") break
核心要点:
- 外层
while True创建无限循环,直到用户选择退出 - 加入输入验证:避免用户输入非整数、非正整数或非有效数字导致程序崩溃
- 最后通过嵌套的小循环确保用户只能输入y/n,避免无效输入
- 变量名改用更符合Python规范的蛇形命名(比如
total_sum代替Sum),提升可读性
内容的提问来源于stack exchange,提问作者OnePieceFan19
相关产品推荐
相关产品推荐

