Как я могу использовать локальную переменную функции самоопределения в другой функции самоопределения в Python - PullRequest
0 голосов
/ 25 апреля 2020

Я написал функцию sign_up в Python:

def sign_up():
    print('You choose to sign up: ')
    name = input('Please input your name: ')
    phone_number = input('Please input your phone number: ')
    code1 = str(input('Please input your code: '))
    code2 = str(input('Please input your code again to make sure right: '))

    while code1 != code2:
        print('Your two times-codes are not same, just try again: ')
        code1 = str(input('Please input your code: '))
        code2 = str(input('Please input your code again to make sure right: '))

    else:
        print('You have signed up successfully. Just wait to jump to the main page....')

    customer = {'name': name, 'phone_number': phone_number, 'code': code1}
    return

Как вы можете видеть, я использовал словарь «customer» для хранения информации о клиенте. Моя проблема в том, что:

Когда я хочу написать функцию log_in () и хочу использовать словарь 'customer', который был определен в функции sign_up (), чтобы проверить, совпадают ли введенные пользователем данные с словарём ' customer '. Когда я это сделал,' customer 'получил ошибку "Unresolved reference' customer '". Что я могу сделать, чтобы избежать этого? Следует ли использовать глобальную переменную?

Заранее спасибо за помощь.

1 Ответ

0 голосов
/ 25 апреля 2020

Проблема в том, что ваша переменная существует только в локальной области (в функции sign_up()). Самый простой способ - сделать вашу переменную глобальной.

def sign_up():
    print('You choose to sign up: ')
    name = input('Please input your name: ')
    phone_number = input('Please input your phone number: ')
    code1 = str(input('Please input your code: '))
    code2 = str(input('Please input your code again to make sure right: '))

    while code1 != code2:
        print('Your two times-codes are not same, just try again: ')
        code1 = str(input('Please input your code: '))
        code2 = str(input('Please input your code again to make sure right: '))

    else:
        print('You have signed up successfully. Just wait to jump to the main page....')

    global customer
    customer = {'name': name, 'phone_number': phone_number, 'code': code1}
    return

теперь вы можете использовать customer где хотите

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