@1scull1

Как сделать возврат и несколько функ в 1?

Прошу ответить серьезно и не смеяться над возможно глупым вопросом. Начал изучать python и решил все изучать потихоньку, столкнулся с функциями и решил просто из головы за 2 минуты написать код. Написал сначала такое:
def register():
    while True:
        reg = input('Хотите зарегестрироваться? ')
        if reg == 'yes':
            nick = input('Введите свой никнейм:' )
            password = input('Введите пароль:' )
            password2 = input('Подтвердите пароль:' )
            email = input('Введите email:' )
            age = input('Введите дату рождения (DD.MM.YYYY):' )
            if password == password2:
                print(nick + ' Спасибо за регестрацию на ваш email ' + email + ' выслано сообщение с кодом')
            else:
                print('Пароли не совпадают!')
        else:
            print('Пока!')


def kod_regi():
    key = 123
    return key

Дальше решил их в одной функции задействовать вот так:
def main():
    while True:
        kod = kod_regi()
        register()
        kodik = input('Введите код из сообщения: ')
        if kodik == kod:
            print('Вы успешно подтвердили аккаунт!')
        else:
            print('Неправильный код!')

if __name__ == '__main__':
    main()

А вопрос такой, как сделать так, чтобы когда в функции def register() происходит условие else в main() не переходило к kodik = input('Введите код из сообщения: '), а если выполняется все нормально он принимал key из def kod_regi() как правильный или неправильный и выводил на печать все нормально. Буду благодарен за помощь и объяснении в дальнейшем понимании мною этого. Заранее спасибо!
  • Вопрос задан
  • 215 просмотров
Пригласить эксперта
Ответы на вопрос 2
@aab137
Короче, вот рабочий код.
def register():
        reg = input('Хотите зарегестрироваться? ')
        if reg == 'yes':
            nick = input('Введите свой никнейм:' )
            password = input('Введите пароль:' )
            password2 = input('Подтвердите пароль:' )
            email = input('Введите email:' )
            age = input('Введите дату рождения (DD.MM.YYYY):' )
            if password == password2:
                print(nick + ' Спасибо за регестрацию на ваш email ' + email + ' выслано сообщение с кодом')
                global f
                f = 1
            else:
                print('Пароли не совпадают!')
        else:
            print('Пока!')


def kod_regi():
    key = '123'
    return key

f = 0

def main():
    while True:
        global f
        f = 0
        kod = kod_regi()
        register()
        if f:
            kodik = input('Введите код из сообщения: ')
            if kodik == kod:
                print('Вы успешно подтвердили аккаунт!')
            else:
                print('Неправильный код!')

if __name__ == '__main__':
    main()
Ответ написан
@kova1ev
def register():
    while True:
        reg = input('Хотите зарегестрироваться? ')
        if reg == 'yes':
            nick = input('Введите свой никнейм:' )
            password = input('Введите пароль:' )
            password2 = input('Подтвердите пароль:' )
            email = input('Введите email:' )
            age = input('Введите дату рождения (DD.MM.YYYY):' )
            if password == password2:
                print(nick + ' Спасибо за регестрацию на ваш email ' + email + ' выслано сообщение с кодом')
                return True
            else:
                print('Пароли не совпадают!')
        else:
            print('Пока!')
            return False


def kod_regi():
    key = 123
    return key

def main():
    kod = kod_regi() 
    result = register()
    if result:
        kodik = input('Введите код из сообщения: ')
        if kodik == kod:
            print('Вы успешно подтвердили аккаунт!')
        else:
            print('Неправильный код!')

if __name__ == '__main__':
    main()
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы