2013-09-11 53 views
-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) 

我還需要能夠同時打印功能。

+2

你有什麼問題? – justhalf

+0

嘗試使用函數randomNumbers(n)創建隨機數列表。然後我想找到第二個函數calculateAverage(n) – user2744489

+0

的隨機數的均值哦,所以你想知道如何調用一個函數?它就像'myList = randomNumbers(n)'一樣簡單 – justhalf

回答

0

calculateAverage應將myList作爲參數,而不是n。

還檢查變量的情況下,你有mylistmyList交替使用。

在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) 
0

這將做同樣的事情..

from random import randint as rng 

nums = [rng(0, 10) for _ in range(n)] 
sum(nums)/n