为什么这应该是一个 while 语句而不是一个 if 语句?

丽塔

做了一个班级测试..他们提供了一个样本测试。其中一个问题给出了以下代码,该代码计算列表中项目的平均值,然后要求我们找出所有错误:

# 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么这些 if 语句不起作用,对我所说的任何内容的响应都是“嘿”,这应该是仅对第一个 if 语句的响应

为什么我的 while 循环在应该是随机的时候重复相同的语句?

如何在while语句内退出while语句以返回到第一个while语句?

为什么这个 while 语句会创建一个无限循环?

为什么我的 Unity 挂在一个可能为真的 while 语句中?

如何在while循环另一个语句select语句

一个或两个语句中的while循环有什么区别?

jQuery,如果一个语句是正确的,而另一个语句不是?

if语句输出多个值,而不是一个并中断

为什么case语句中的标签应该是恒定的?

如何使每3个数字打印出一个while语句?

如何将这两个while语句合并为一个?

为什么 doc.data() 在这个 if 语句中不是一个函数?

为什么SQL Continue语句创建一个Endless循环而不是Continuing?

将一个 WHILE 中 SELECT 语句的所有结果作为一个整体输出

如何制作一个OR选择器而不是一个AND语句

如何使用一个import语句而不是使用react和javascript的多个import语句?

为什么要给If语句起一个名字?

为什么这个 if 语句给我一个 ValueError?

if 语句只调用一个函数,为什么?

为什么 if 语句忽略第一个 if?

VBA使用if语句执行while循环,当条件满足时添加一个值

调试do-while循环出现一个以上的语句

Python –使用`while`,`try`,`if`和`except`语句突破了一个深层嵌套的循环

如何在另一个while循环中使用if else语句

while 循环语句对除第一个输入之外的所有输入求和?

两个IF语句与一个AND语句

我应该创建一个类而不是重复的get / set语句吗?

检查多个 IF 语句是否都正确,当它们不是一个动作时应该来