Python 求平均学校作业 - 什么是循环?

Python Find the mean school assignment - What is a loop?

我已经完成这项任务大约 2 周了,但什么也没做。我是编码初学者,我的老师真的没有帮助我。她将我重定向到我每次都必须学习的她的视频,并且不会直接告诉或帮助我如何去做。这是作业的说明(在视频中说,但变成了文字。

求均值 创建一个程序,计算一列数字的平均值。 遍历它,而不是打印每个项目,你想把它们加在一起。 在里面创建一个新变量,当你把东西加在一起时,它会得到总计, 然后你必须将它除以数组的长度,对于 python/java 脚本你需要使用让你知道列表长度的方法。 可以找到中位数的孩子的加分点,为此,您需要对列表进行排序,然后需要从右侧和左侧删除项目,直到只剩下一个 您所做的就是需要创建一个变量,即您的列表 再创建一个变量,此时为空,并且是一个数字 遍历列表并将每个数字添加到您创建的变量中 然后将该数字除以列表中的项目数。

这是我到目前为止所做的。

num = [1, 2, 3, 4, 5, 6];
total = 0;

total = (num[0] + total)
total = (num[1] + total)
total = (num[2] + total)
total = (num[3] + total)
total = (num[4] + total)
total = (num[5] + total)

print(total)

但是,她告诉我我需要将 total = (num[_] + total) 部分缩短为一个循环。这是她告诉我在她的一个视频中循环播放的方式。

for x in ____: print(x) 或者 for x in range(len(___)): print (x+1, ____[x])

还有

while i < len(___):
print(___[i])
i = i + 1

我真的不明白该怎么做,所以请像我是个菜鸟一样解释一下。

她想让你遍历列表。 Python 真的很好,比其他语言更容易。 我在下面有一个接近您需要的示例,但我不想为您做功课。

listName = [4,8,4,7,84]

for currentListValue in listName:
    #Do your calculating here...
    #Example: tempVar = tempVar + (currentListValue * 2)

如评论中所述,w3schools 是 python 的一个很好的参考。

首先,python中的循环有两种类型。

  • while:while 循环执行 body 中的代码,直到 condition 是真的。例如:

     i = 0
     while(i < 5):
         i = i + 1
    

    执行 i = i + 1 直到 i < 5 为真,这意味着当 i 等于 5 时循环将终止,因为它的条件变为假。

  • for:python中的一个for循环遍历任何序列的项目,从第一个到最后一个,并执行它的主体在每次迭代中。

注意:在这两种情况下,循环体我指的是缩进代码,在上面的例子中,循环体是i = i + 5.

遍历列表。您可以遍历列表:

  1. 使用索引

    由于数组的每个位置都使用从 0 到数组长度减 1 的正数进行索引,因此您可以使用增量索引访问数组的位置。所以,例如:

    i = 0 
    while i < len(arr):
        print(arr[i])
        i = i + 1
    

    将在第一次迭代中访问 arr[0],在第二次迭代中访问 arr[1],依此类推,直到在最后一次迭代中访问 arr[len(arr)-1]。然后,当 i 进一步递增时,i = len(arr) 等 while 循环 (i < arr[i]) 中的条件变为假。所以循环被打破了。

  2. 使用迭代器

    我不会详细介绍迭代器在表面下是如何工作的,因为对于初学者来说可能吸收太多了。但是,对您来说重要的是以下内容。在 Python 中,您可以使用迭代器编写 for 循环的条件,如您的老师在示例中向您展示的那样:

    for x in arr: 
        print(x)
    

    迭代器在直觉上是一个对象,它迭代具有“可迭代”特征的事物。列表不是 python 中唯一的可迭代元素,但它们可能是最重要的。在列表上使用迭代器允许您按顺序访问列表的所有元素。列表元素的值在每次迭代时存储在变量 x 中。因此:

    iter 1: x = arr[0]
    iter 2: x = arr[1]
    ...
    iter len(arr)-1: x = arr[len(arr)-1]
    

    访问列表的所有元素后,循环终止。

注意:在python中,函数range(n)创建了一个从0n-1的“可迭代对象”,所以for 循环

for i in range(len(arr)): 
    print(arr[i])

使用迭代器创建存储在 i 中的值序列,然后 i 依次用于数组 arr 以按位置访问其元素。

对元素求和。如果你理解我向你解释的内容,那么编写一个循环来对列表的所有元素求和应该很简单。在循环之前初始化一个变量 sum=0 。然后,将我们在每次迭代中看到的访问元素添加到变量 sum。它将类似于:

sum = 0    
for x in arr:
    sum = sum + x

我会让你用我给你看的其他两种方法写一个等效的代码,然后你自己完成作业的其他要点。我敢肯定,一旦您理解了它的工作原理,您就会没事的。我希望已经回答了你的问题。