2015-09-06 70 views
0

問題是編寫一個函數randNumMaxFor(n, maxValue),使用for循環生成0maxValue之間的n隨機數列表。我可以得到隨循環生成的隨機列表,但我不知道如何進入下一步。感謝您提供任何提示或提示。使用for循環的Python生成列表,查找maxValue

import random 
def randomNumbers(n):  
    #create an empty list 
    myList=[] 

    #While loop to create new numbers 
    for n in range(0,9): 
     #create a random integer between 0 and 9, inclusive 
     randomNumber=int(random.random()*10) 

     #add the random number to the list of random numbers using the append() method 
     myList.append(randomNumber) 

    return myList 
+0

什麼是「下一步」? –

+0

作爲參數傳入的'n'會怎樣?它在'for'循環中被重複使用。 –

回答

0
import random 
def randNumMaxFor(n, maxValue): 
    ret = [] 
    for i in range(n): 
     ret.append(random.random() * maxValue) 
    return ret 

>>> randNumMaxFor(5, 100) 
[26.72290088458923, 
59.19115828283099, 
92.35251365446278, 
21.0800837007157, 
44.83968075845669] 
+0

你可以在這裏使用一個列表理解:'return [random.random()* maxValue for _ in range(n)]' – acushner

+0

是的,我只是認爲這是一項家庭作業任務,並且使用了更簡單的語法。 – hellpanderrr

1

for循環產生N個隨機數的0和包括maxValue之間的清單

你的循環不會遍歷從0n。這種替換:

for i in range(0,n): 

您可以使用randint()生成0之間的隨機數maxValue。這將是像randint(0, maxValue)

然後,您可以sort列表,並返回的最後一個值,這將是max

return sorted(myList)[len(myList) - 1]