** ОБНОВЛЕНО ** Python Программирование на основе пользовательских методов - PullRequest
0 голосов
/ 01 августа 2020

Кто-нибудь может мне помочь с правильным кодом, который я должен использовать? Я так и не понял.

Я разместил приведенный ниже код и результат ошибки, который я получаю ниже. Некоторые возрасты указаны неверно. Может кто-нибудь помочь мне с правильным кодом, пожалуйста? Спасибо за ваше время и любую оказанную помощь.

Кто-то из представленных ниже помог мне определить даты их рождения.

(Сара = 2000/08/01, Эри c = 2009/08/02 , Картер = 28.07.2009, Джорджия = 01.09.2005)

Это код:

from datetime import date

class Person:
  def __init__(self, name, birthdate):
    self.name = name
    self.birthdate = birthdate
  


def get_age(self):
    birthdate = self.birthdate
    today = date.today()
    if today.month >= birthdate.month and today.day >= birthdate.day:
        self.age = (today.year - birthdate.year)
    else:
        self.age = (today.year - birthdate.year) - 1
    return self.age

Это результат (некоторые возрастные тесты неуспешны):

#TEST 1#
sara.get_name() returned Sara
inputs:

outputs:
----------
#TEST 2#
sara.get_height() returned 160
inputs:

outputs:
----------
#TEST 3#
sara.get_age() returned 20
inputs:

outputs:
----------
#TEST 4#
sara.get_description() returned Sara is 160 cm high and is 20 years old.
inputs:

outputs:
----------
#TEST 5#
eric.get_age() returned 10
inputs:

outputs:
----------
#TEST 6#
** ERROR **carter.get_age() returned 10
* EXPECTED * 11
inputs:

outputs:
----------
#TEST 7#
georgia.get_age() returned 14
inputs:

outputs:

1 Ответ

0 голосов
/ 01 августа 2020

Думаю у вас лог c ошибка в get_age():

  def get_age(self):
    birthdate = self.birthdate
    today = date.today()
    if today.month >= birthdate.month and today.day >= birthdate.day:
      self.age = today.year - birthdate.year
    else:
      # haven't reached birthday yet
      self.age = (today.year - birthdate.year) - 1
    return self.age
...