2016-05-01 150 views
-1

如果我只使用print(),它會打印0-1000範圍內的數字的拼寫,但我想用return()將結果保存爲變量,以便稍後將其分配給其他函數。當我測試它時,它不會用return()打印任何東西,問題在哪裏?謝謝!Python:爲什麼我的程序不打印任何東西?

update:原來我在print()之前調用了return(),所以print()永遠不會被調用;但後來我改變了他們的立場,它仍然行不通,爲什麼?謝謝。

def spell(Numbers): 
    result = [] 

    def spellOne(Numbers): 





    print (result) 
    return(result) 

    spellOne(number) 
+1

...因爲您在打印之前會返回。 –

回答

1

我相信你需要在打印之前打電話給spellOne(number),或者甚至返回結果以便第二個函數有效。因爲當你打電話給spell時,它所要做的就是打印result這是一個空列表。然後它會返回它,甚至沒有到達下一行。以前的方式,第二個函數將永遠不會被調用,除非你把它放在前面。

spellOne(number) 
print (result) 
return(result) 
0

根據您的縮進,它會出現,這是因爲你調用調用打印之前返回 - 換句話說打印不會被調用。

+0

感謝您的回答。根據你的建議,我改變了return()和print()的位置,但是它給出了一對方括號沒有任何內容。我不知道爲什麼會發生這種情況。 –