Python代码计算故障求助:变量始终显示为0.0无法正常统计
问题分析与修复
你的代码核心问题是缩进错误:total = total + num、num1 = num1 + 1、average = total / num1这三行被缩进在了continue语句之后,而continue会直接跳过当前循环的剩余代码、进入下一次循环,导致这三行更新变量的代码永远不会被执行,所有变量一直保持初始值0.0。
修正后的代码
total = 0.0 num1 = 0.0 average = 0.0 while True: input_num = input("Enter a number ") if input_num == 'done': break try: num = float(input_num) except ValueError: print("Invalid Input") continue # 转换成功后执行变量更新,缩进与try/except同级 total = total + num num1 = num1 + 1 average = total / num1 print("total: ", total) print("count: ", num1) print("average: ", average)
也可以把变量更新逻辑放在try块内部(确保转换成功后执行),写法如下:
total = 0.0 num1 = 0.0 average = 0.0 while True: input_num = input("Enter a number ") if input_num == 'done': break try: num = float(input_num) # 转换成功后直接更新变量 total += num num1 += 1 average = total / num1 except ValueError: print("Invalid Input") continue print("total: ", total) print("count: ", num1) print("average: ", average)
两种写法都能让变量更新逻辑正常执行,从而得到正确的计算结果。
内容的提问来源于stack exchange,提问作者LateNightGame's
相关产品推荐
相关产品推荐

