2015-01-17 82 views
1

的任務是:pyschool主題4,Q 1

創建函數generateNumbers(NUM),在正數取爲參數,並從0返回號碼的列表到該號碼的包容性。注意:功能範圍(5)將返回一個數字[0,1,2,3,4]的列表。

我的代碼:

def generateNumber(num): 
    numbers = [] 
    for x in range(num): 
     numbers.append(range(num+1)) 
     return numbers 

有什麼不對?它返回您正在使用冗餘看起來像[[0,1,2,3,4]]"[]"generatenumber(0)它返回一個None列表...

+0

什麼是追加'range'對象添加到列表的目的是什麼?另外,你的'return'被錯誤地縮進,循環沒有任何意義。 – TidB

回答

1

range

你必須做的,而不是

def generateNumber(num): 
    numbers = [] 
    for x in range(num+1): 
     numbers.append(x) 
    return numbers   #Note where the return is 

否則最好可以做的是

def generateNumber(num): 
     return (list(range(num+1))) 

兩者都會給你想要的結果

+0

謝謝,這非常有幫助! –

0

您可以嘗試

def generateNumber(num):  
    return range(num + 1) 
+0

嗨dtara,歡迎來到Stack Overflow。你的答案中的代碼可能是正確的,但在某些情況下它會是更好的答案;例如,您可以解釋如何以及爲什麼這個提議的變更可以解決提問者的問題,或許還包括指向相關文檔的鏈接。這將使它對他們更有用,而且對尋求類似問題解決方案的其他網站讀者也更有用。 –