做了一个班级测试..他们提供了一个样本测试。其中一个问题给出了以下代码,该代码计算列表中项目的平均值,然后要求我们找出所有错误:
# brightness levels –maximum is 100
shape_brightness = [15,92,38,42]
item_no = 0
total = 0
if (item_no < len(shape_brightness):
total = shape_brightness[item_no]
item_no = item_no + 1
average = total / item_no
print(“The average brightness level is “+str(averge))
然而,在解决方案中,他们说最大的错误是它实际上应该是一个while 语句..我不明白为什么?有什么解释为什么吗??
您需要遍历所有元素来计算平均值。if 语句仅访问此数组中的第一个元素。
当你的代码访问shape_brightness[item_no]
,item_no
是索引,所以它是 0,shape_brightness[item_no]
只是数字 15。为了shape_brightness
在你的平均计算中包括所有其他值,你也想访问它们,所以要做到这一点,你增加你的indexitem_no
的次数与要使用循环访问的元素数相同。
while 循环将是迭代所有元素的一种方式,将 'if' 更改为 'while' 将是对该代码的最快更正,但 for 循环以及其他更改也可以使用。例如
for item in range(len(shape_brightness)):
execute
在这种情况下 item_no 计数器就变得不必要了。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句