Как получить определение переменной внутри функции без ее сброса - PullRequest
0 голосов
/ 05 декабря 2018

Сейчас я провожу музыкальную викторину.Я столкнулся с проблемой и не знаю, как ее решить.Я использую переменную под названием неправильно.Предполагается, что это int, если я определю его в начале кода, он не будет передан в функцию.И если определить его в функции, он сбрасывается.

Ответы [ 2 ]

0 голосов
/ 05 декабря 2018

Легко.Сделайте это глобальным.Если в начале вы определили неправильно, как это,

wrong = 10

Просто вызовите global внутри функции, и она должна использовать инициализированную переменную

def your_function(): 
    global wrong
    wrong_temp = wrong
    #use wrong_temp however 

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

0 голосов
/ 05 декабря 2018

Вы можете определить функцию, не создавая сначала переменную, или нет, Python может обработать любой случай.

def music(answers):
    # Where answers is [(user input, correct answer) ...]
    wrong = []
    for i in answers:
        if i[0] == i[1]:
            pass
        else:
          wrong.append(i)  
    return wrong

wrong = music(answers)

Или, если вы хотите выбрать, где вы остановились, с предыдущими значениями для ответов и неправильных:

wrong = [(previous values, previous answers) ...]

def music(answers, wrong = []):
    # Where answers is [(user input, correct answer) ...]
    wrong = []
    for i in answers:
        if i[0] == i[1]:
            pass
        else:
          wrong.append(i)  
    return wrong

wrong = music(answers, wrong=wrong)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...