如何在Python中汇总输出

时间:2017-12-15 06:23:35

标签: python-3.x

以下程序将创建一个在1-10之间随机选择的100个数字的列表。我需要帮助然后对列表求和,然后平均创建的列表。

我不知道如何开始,因为我在线观看视频,我没有人可以转向。我在这个世界上很新鲜,所以我可能只是错过了整个想法。我怀疑我实际上并不知道,因为我付的视频是一步一步知道什么都不知道。

编辑:我被告知该程序所做的是覆盖变量,而不是列表。那么我该如何总结我的输出呢?

这就是我要做的全部:

all I have to go on

代码:

import random

x=0
while x < 100:
    mylist = (random.randrange(1,10))
    print(mylist) 
    x = x+1

3 个答案:

答案 0 :(得分:1)

我认为最简单和pythonic的方法是:

import random
x = [random.randrange(1,10) for i in range(100)] #list comprehension
summed = sum(x)                                  #Sum of all integers from x
avg = summed / len(x)                            #Average of the numbers from x

在这种情况下,这不应该产生很大的影响,但是当你知道你想要多少次时,你不应该使用while和代码手动计数器;换句话说,如果可能的话,请始终使用for。查看代码的作用会更有效,更清晰。

答案 1 :(得分:0)

def sum(list):
    sm = 0
    for i in list:
        sm+=i
    return sm

只需运行sum(list)即可获得所有元素的总和

或者您可以使用

import random
x=0
mylist = []
sm = 0
while x < 100:
     mylist.append(random.randrange(1,10))
     sm += mylist[x]
     x += 1

然后sm将是列表的总和

答案 2 :(得分:0)

代码不正确。它不会创建列表,而是每次都生成一个数字。使用以下代码获得所需的结果。

import random
mylist = []
for x in range(100):
    mylist.append(random.randrange(1,10))
print(mylist)   
print(sum(mylist))

OR

import random
mylist = [random.randrange(1,10) for value in range(100)]
print(mylist)   
print(sum(mylist))

输出:

[3, 9, 3, 1, 3, 5, 8, 8, 3, 3, 1, 2, 5, 1, 2, 1, 4, 8, 9, 1, 2, 2, 4,
 6, 9, 7, 9, 5, 4, 5, 7, 7, 9, 2, 5, 8, 2, 4, 3, 8, 2, 1, 3, 4, 2, 2,
 2, 1, 6, 8, 3, 2, 1, 9, 6, 5, 8, 7, 7, 9, 9, 9, 8, 5, 7, 9, 4, 9, 8, 
 7, 5, 9, 2, 6, 8, 8, 3, 4, 8, 4, 7, 9, 9, 4, 2, 9, 9, 6, 3, 4, 9, 5, 
 3, 8, 4, 1, 1, 3, 2, 6]

 512