Работа с увеличиваемой переменной в функции не работает - PullRequest
2 голосов
/ 05 августа 2020

Я новичок в 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)

Итак после второго вызова функции код должен вернуть мне "истинное" сообщение, но вместо этого он просто увеличивает переменную и выглядит так, будто использует исходное значение, равное 0.

Я вижу, что переменная var увеличивается правильно. Но переменная line_num остается равной нулю.

Я не понимаю, в чем проблема, надеюсь, кто-нибудь сможет мне ее объяснить.

1 Ответ

1 голос
/ 05 августа 2020

нужно увеличивать line_num не 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...