2017-05-27 118 views
-2

我正在返回的值完全返回,因爲它們傳遞給方法,儘管在方法內部進行了修改。Python方法不返回值

def test(value): 
    value+=1 
    return value 

value = 0 
while True: 
    test(value) 
    print(value) 

這個精簡的例子每次只是返回零而不是像所期望的那樣增加整數。爲什麼是這樣,我該如何解決它?

我不是問如何return語句工作/這是什麼,只是爲什麼我的價值沒有更新。

+0

我更新了它來區分這個問題。 – TrumpetDude

回答

3

您需要分配return「d值回

value = test(value) 
-1

使用此: -

def test(value): 
    value+=1 
    return value 

value = 0 
while True: 
    print(test(value)) 

你沒有使用返回的值,並使用測試(值)打印中語句可以避免創建另一個變量。

+0

這仍然不會增加他的整數。 – fuglede

+0

它不會保留更新後的結果以便在其他位置重複使用,但爲了測試目的,他/她可以使用打印語句/僅僅將其分配給變量「值」以用於可用性目的。而且,他/她並沒有結束while循環,所以它是無限的執行。 –