2015-03-13 124 views
-1

我正在調用函數內的函數。我希望它每次函數循環(4個實例)時都會將結果添加到列表中。用壞的程序員術語來說,就像:對於循環的每個實例,運行函數,將結果添加到列表和增加計數器,然後再次執行。將函數的追加結果添加到列表中

你能幫忙嗎?

def genDigit(): 
    import random 
    digit = (random.randint(0, 9)) 
    print(digit) 
    return 

def genNumber(): 
    numList = list 
    for counter in range(0,4): 
    'from here on I need to finish the function 

任何指針將不勝感激。我用英語來理解我將如何去完成這件事。

親切的問候, JJP

回答

0

,而不是打印在你的函數的數字,然後返回沒什麼的,你應該返回生成的數字。然後,您可以收集列表中的那些,然後返回該列表。最後,你打印結果。

import random # import once 

def genDigit(): 
    digit = random.randint(0, 9) 
    return digit # return the digit 

def genNumber(): 
    numList = list() # add missing() 
    for counter in range(0,4): 
     numList.append(genDigit()) # add digits to list 
    return numList # return the list 

print(genNumber()) # now print the entire list 

或更短:

def genDigit(): 
    return random.randint(0, 9) 

def genNumber(): 
    return [genDigit() for c in range(4)] 
+0

感謝這確實幫助,但是與較短的版本我想在程序中操作4個號碼,所以我需要一個列表。第二個所做的是返回值,但我努力想看看我可以如何將它添加到列表中! – JJP 2015-03-13 15:19:50

+0

@JJP這是一個列表。它被稱爲「列表理解」,比for循環更簡短一些。結果是一樣的。當然,如果你在循環內部做的更多,而不僅僅是增加列表的值,那麼循環是更好的選擇。 – 2015-03-13 15:22:34

+0

我明白了,謝謝你的提供。但我不知道如何操作這個。例如,我試圖編寫一個用戶輸入四位數字的小程序,它會告訴他們它是否與程序隨機生成的四位數字相同。一個函數利用這個列表,通過檢查入口是否是例如4567,程序的編號是4568,輸出是YYYN,因此我在這裏使用列表。有了這種類型的列表,我看不出我如何寫任何東西來操縱它?謝謝! – JJP 2015-03-13 15:31:33