-2

我正在尝试回调一个创建随机数列表的函数。然后,我想取这些随机数的平均值。

    import random
    def randomNumbers(n):
        myList = []
        needMoreNumbers = True
        while (needMoreNumbers):
            randomNumber = int(random.random() * 10)
            myList.append(randomNumber)
            n = n -1
            if (n < 1):
                needMoreNumbers = False
        return myList

这是代码的第一部分。这是我接下来要做的:

    import random
    def calculateAverage(n):
        return sum(mylist)/len(myList)

我还需要能够打印这两个功能。

4

2 回答 2

0

calculateAverage 应该将 myList 作为参数,而不是 n。

还要检查变量的大小写,你有mylist 并且myList可以互换使用。

在 Python2 中。calculateAverage 正在做整数除法。您需要将整数转换为浮点数,因此您正在进行浮点除法。

import random
def randomNumbers(n):
    myList = []
    needMoreNumbers = True
    while (needMoreNumbers):
        randomNumber = int(random.random() * 10)
        myList.append(randomNumber)
        n = n -1
        if (n < 1):
            needMoreNumbers = False
    return myList

def calculateAverage(myList):
    return float(sum(myList))/len(myList)


myList = randomNumbers(10)
print calculateAverage(myList)
于 2013-09-11T01:36:44.513 回答
0

这将做同样的事情..

from random import randint as rng

nums = [rng(0, 10) for _ in range(n)]
sum(nums) / n
于 2013-09-11T01:57:02.523 回答