2015-05-26 51 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())