2015-05-26 52 views
0

只是運行一些簡單的代碼和我的生活,我不能讓我的for循環後打印變量「總」。我回來了,但無濟於事。先謝謝您的幫助!無法讓我的總數在Python for循環之外打印?

#pypractice.py 
import math 
import pdb 

def main(): 

    n = eval(input("Please enter a number: ")) 
    total = 0 

    #pdb.set_trace() 
    for x in range(1, n): 
     total = x + total 
     print(total) 
    return total 
    print(total) 
    #pdb.set_trace() 


main() 
+6

'return'結束函數。將所有'print'調用(以及所有其他代碼)放在_before_'return'之後。 – 101

+0

真棒謝謝你們! – flybonzai

回答

2

執行在存在return語句時停止。切換順序:

# for loop stuff 
print(total) 
return total 
0

在返回語句return total之後,如果有代碼,它將不會被執行。

1

main功能將停止執行並返回total,所以它永遠不會達到最終打印。

由於總數已返回給調用方,因此您可以將其打印在那裏。

#pypractice.py 
import math 
import pdb 

def main(): 

    n = eval(input("Please enter a number: ")) 
    total = 0 

    #pdb.set_trace() 
    for x in range(1, n): 
     total = x + total 
     print(total) 
    return total 
    #pdb.set_trace() 

print(main())