我正在做一个作业,要求我写一个计算列表平方平均值的程序。在
因此,如果程序正常,它将显示:
avgSumOfSquares()
Enter next number: 3.27
Enter next number: -1.9
Enter next number: 6
Enter next number: -1
Enter next number: end
The average of the sum of the squares is: 12.825725
12.825725
avgSumOfSquares()
Enter next number: end
No numbers were entered.
但是,当我输入end时,我的程序告诉我Traceback(最近一次调用last):
File "<pyshell#9>", line 1, in <module>
avgSumOfSquares()
File , line 34, in avgSumOfSquares
average = num_sum / amount
ZeroDivisionError: float division by zero
这是我的密码
^{pr2}$
我不明白你为什么要把它分成
len(squared) - 1
它应该是len(squared)
也许你认为结束输入,但你没有添加它的输入列表,所以没有必要。在它失败了,因为对于第二个数字,
input_list
的长度是1。因此,ammount
将为0。您应该将您的平均检查器放在一个elif
块中,如下所示:这应该可以解决您的问题,但我不知道为什么要将
ammount
定义为len(squared) - 1
。3个数的平均数是3个数除以3的和,而不是2。如果平均值计算正确,elif
可能是else
。在相关问题 更多 >
编程相关推荐