BotaniQ_Q
@BotaniQ_Q

Ошибка типов переменных в python?

Играю на Codewars, решил начать с простеньких задачек
выглядит она так
Если кратко у нас есть функция, которая принимает год рождения и текущий год, должна посчитать когда человек родиться, если он еще не рожден, сколько человеку лет если уже рожден и если аргументы функции равны, вернуть то что он родиться прям в этом году. Вот мой код
def calculate_age(year_of_birth, current_year):
  if current_year > year_of_birth:
      a = current_year - year_of_birth
      b = str(a)
      c = ["You are", b ,"years old."]
      return  " ".join(c)
  elif current_year < year_of_birth:
      a = year_of_birth - current_year
      b = str(a)
      c = ["You will be born in", b ," years."]
      return  " ".join(c)

      
  else :
       c = "You were born this very year!"
       return c

Программа проходит тесты, когда текущий год больше года рождения, но когда он меньше, программа выдает ошибку:
'You will be born in 10 years.' should equal 'You will be born in 10 years.'
То есть у нас результат ну полностью совпадает с нужным, но ругается что не совпадает, видимо у 10тки, другой тип, хотя мы преобразовываем ее в строку, туплю, не вижу в чем ошибка
  • Вопрос задан
  • 214 просмотров
Решения вопроса 1
@javedimka
Хочу сока
c = ["You are", b ,"years old."] - здесь year, а не years

c = ["You will be born in", b ," years."] - здесь убрать пробел внутри " years" (перед самим словом)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы