(Python)只是简单的递增变量,我无法解决

时间:2018-02-23 15:30:45

标签: python variables

我正在研究一个项目,现在我被困住了。 我试图搜索,但我没有找到任何东西,也许是因为我不知道我必须搜索到什么。

我无法弄清楚的部分在这一部分是相同的

bum = 0

def tryit():
    for bum in range(5):
        print("Hey")
        bum += 1
    print(bum)

tryit()
tryit()
tryit()

我希望输出为

hey
hey
hey
hey
hey
5
hey
hey
hey
hey
hey
10  
hey
hey
hey
hey
hey
15

相反,输出是

hey
hey
hey
hey
hey
5
hey
hey
hey
hey
hey
5  
hey
hey
hey
hey
hey
5

我怎样才能继续增加变量bum?

我知道也许是愚蠢和对不起,但我真的无法弄清楚

3 个答案:

答案 0 :(得分:2)

将bum更改为全局变量,以便您的函数可以访问它。另外,我建议更改你的for循环变量以减少任何混淆。

<强>代码:

bum = 0
def tryit():
    global bum
    for i in range(5):
        print("Hey")
        bum += 1
    print(bum)

<强>输出:

enter image description here

这仅用于演示目的。虽然本示例使用了全局变量,但通常不推荐使用该变量,因为它在现实世界中可能会产生负面影响。阅读更多here

答案 1 :(得分:0)

在for循环中,你应该使用不同的变量名而不是bum in for statement。

其次,也许你需要在tryit()中使用全局关键字作为bum

答案 2 :(得分:0)

您正在使用for循环范围中的全局名称遮蔽全局名称。相反,在函数外部使用bum两个不同的名称,在for循环内使用bum