Python 3.x 在函数中使用递增变量无效
我是python新手,正在尝试用它解决一些问题。我试图递增一个变量,然后在函数中使用递增的变量,但看起来它没有使用递增的变量 这是我的代码:Python 3.x 在函数中使用递增变量无效,python-3.x,variables,Python 3.x,Variables,我是python新手,正在尝试用它解决一些问题。我试图递增一个变量,然后在函数中使用递增的变量,但看起来它没有使用递增的变量 这是我的代码: var = 0 line_num = 0 + var def incerement_problem(line_number): if line_number == 1: print("true") else: global var var += 1 incerement
var = 0
line_num = 0 + var
def incerement_problem(line_number):
if line_number == 1:
print("true")
else:
global var
var += 1
incerement_problem(line_num)
incerement_problem(line_num)
因此,在第二次函数调用之后,代码应该返回“true”消息,但它只是增加变量,看起来它使用的是原始值,即0
我看到的是var变量正确地递增。但line_num变量保持为0
我不明白是什么问题,希望有人能给我解释一下。你需要增加
行数
而不是var
line_num = 0
def incerement_problem(line_number):
if line_number == 1:
print("true")
else:
global line_num
line_num+=1
incerement_problem(line_num)
incerement_problem(line_num)
输出:
true
更新:
line_num = 0
var = 0
def incerement_problem(line_number):
if line_number == 1:
print("true")
else:
global line_num
global var
var = 1
line_num+=var
incerement_problem(line_num)
incerement_problem(line_num)
您需要增加
line_num
notvar
是的,这可能是一个解决方案,但我需要按照我在示例中编写的方式使其工作。所以我需要向另一个变量添加一个变量值,然后在函数中使用它。可能吗?谢谢,它正在工作!你能解释一下为什么它会与你所做的编辑一起工作吗?我不建议使用global
。在第二种方法中,我增加变量并添加。所以,它增加了两个值,我看到了,但为什么我只将增加的var变量添加到第_num行时它不起作用呢?在增加var之后,当我打印行数时(当我处理我的示例时),行数仍然显示为0。