Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 在函数中使用递增变量无效_Python 3.x_Variables - Fatal编程技术网

Python 3.x 在函数中使用递增变量无效

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

我是python新手,正在尝试用它解决一些问题。我试图递增一个变量,然后在函数中使用递增的变量,但看起来它没有使用递增的变量

这是我的代码:

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
not
var
是的,这可能是一个解决方案,但我需要按照我在示例中编写的方式使其工作。所以我需要向另一个变量添加一个变量值,然后在函数中使用它。可能吗?谢谢,它正在工作!你能解释一下为什么它会与你所做的编辑一起工作吗?我不建议使用
global
。在第二种方法中,我增加变量并添加。所以,它增加了两个值,我看到了,但为什么我只将增加的var变量添加到第_num行时它不起作用呢?在增加var之后,当我打印行数时(当我处理我的示例时),行数仍然显示为0。