Расчет возраста с помощью класса - PullRequest
0 голосов
/ 09 марта 2019

Я пытаюсь написать код, который вычисляет возраст, используя класс, но я относительно плохо знаком с модулями и классами, и мне трудно присвоить значение self.

Вот что я сделал до сих пор:

from datetime import date

class time:
    def __init__(self,time):
        self.time=time

    def function(self):
        today=date.today()
        birthday=today.year-self.year-((today.month,today.day)<(self.month,self.day))
        return birthday

y=time
print (y.function.datetime.date(1994,4,12))

Ответы [ 2 ]

1 голос
/ 09 марта 2019

Во-первых, я порекомендую вам всегда начинать занятия с заглавной буквы и переименовывать свою функцию, например, с именем (Calculay_age ()).

Окончательный результат должен выглядеть следующим образом:

from datetime import datetime, date

class Time:
    def __init__(self, date):
        self.date=date

    def calculate_age(self):
        today = datetime.now()
        return today.year - self.date.year - ((today.month, today.day) < (self.date.month, self.date.day))

time = Time(date(1994,4,12))

print(time.calculate_age())

0 голосов
/ 10 марта 2019

Вот альтернативный способ сделать это, вам может показаться интересным.

from datetime import date

class Time:
    def __init__(self, date):
        self.time = date

    def age(self):
        today = date.today()
        date_this_year = date(today.year, self.time.month, self.time.day)
        return today.year - self.time.year - (date_this_year > today)

time = Time(date(1994,4,12))
print(time.age())
...