• Написал код, но не вижу ошибку?

    @PavelMos
    Если ты в среде и умеешь пользоваться брейкпойнтами, посмотри что происходит в функции задания возраста.
    У программы путаница в логике
    Ответ написан
    Комментировать
  • Написал код, но не вижу ошибку?

    @alexbprofit
    Junior SE
    Код
    class UserConstants:
      NameBot = "Jarvis"
      NameCreator = "Sk1lizz"
      NameUser = ''
      SurnameUser = ''
      AgeUser = 0
    
    
    def name_age_user():
      Ago_FirstTime = input("Сколько Вам лет?: ")
      if not Ago_FirstTime:
        print("Вы не указали возраст!")
        name_age_user()
      try:
        UserConstants.AgeUser = int(Ago_FirstTime)
        print("Успешно! Остался 1 этап!!")
        name_surname_user()
      except ValueError:
        UserConstants.AgeUser = 0
        print("Ошибка! Вы ввели некоректный возраст!")
        name_age_user()
    
    def name_surname_user():
      Surname_FirstTime = input("Какое Ваше отчество?: ")
      examination(UserConstants.NameUser, Surname_FirstTime, UserConstants.AgeUser)
    
    def examination(Name, Surname, Age):
      print(f"Вас зовут {Name}, \nВаша фамилия {Surname}\nВам {Age}?")
      TR_FAL = input("Да/Нет: ")
      if TR_FAL.lower() == 'да':
        print("Успешно!")
      elif TR_FAL.lower() == 'нет':
        print("Перезапуск программы!")
        main()
      else:
        print("Ошибка!")
      
      
    def hello(NameUsers=''):
      if not NameUsers:
        print("Вы указали некоректное имя!\nПожалуйста, повторите попытку!")
        NameUser = input("Как к вам обращатся?\nВаше имя: ")
        UserConstants.NameUser = NameUser
        hello(NameUser)
      print(f"Привет, {NameUsers}! \
            \nМеня зовут {UserConstants.NameBot} \
      \nДля продолжения работы с ботом он должен узнать некоторые данные о тебе!")
      name_age_user()
      
    
    def main():
        NameUser_FirstTime = input("Как к вам обращатся?\nВаше имя: ")
        if NameUser_FirstTime == '':
            print("Вы ввели неправильное имя!")
            main()
        try:
            print("Готово!")
            UserConstants.NameUser = NameUser_FirstTime
            hello(NameUser_FirstTime)
        except:
            print("Ошибка")
    
    
    main()

    Вывод:
    Как к вам обращатся?
    Ваше имя: саша
    Готово!
    Привет, саша!         
    Меня зовут Jarvis   
    Для продолжения работы с ботом он должен узнать некоторые данные о тебе!
    Сколько Вам лет?: 21
    Успешно! Остался 1 этап!!
    Какое Ваше отчество?: санич
    Вас зовут саша, 
    Ваша фамилия санич
    Вам 21?
    Да/Нетда
    Успешно!
    Ответ написан
    Комментировать
  • Не вижу ошибку в коде?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Отступы в Python важны, они формируют блоки кода и соответственно области видимости.
    Ответ написан
    1 комментарий