首页 > 解决方案 > 我无法计算班级的年龄。有人可以检查吗?

问题描述

现在正在做作业。任务是为学生创建一个班级。但是由于某种原因,我无法在那里计算年龄?

尝试了几种方法,但对我没有任何作用。不断收到此错误“TypeError:'tuple' object is not callable”

from datetime import datetime

def get_date_today():
    return (2013, 10, 30)


dt = datetime(*get_date_today())

class Student:

    def __init__(self, name, surname, birthdate, branch, grades):
        self.name = name
        self.surname = surname
        self.birthdate = birthdate
        self.branch = branch
        self.grades = grades

    def age(self):
        return (datetime(*get_date_today()) - datetime(*self.birthdate())).days/365

    def print_details(self):
        print("Name:", self.name)
        print("Grades:", self.grades)
        print('Age: ', self.age())
        print('Branch: ', self.branch)
        print('Grades:', self.grades)


Will = Student('Will', 'Smith', (2001,10,12), 'Philosophy', [12,11,10,10,9,8])
print(Will.print_details())

标签: pythonpython-3.x

解决方案


更改datetime(*self.birthdate())

datetime(*self.birthdate)

该属性self.birthdate是一个元组/列表,而不是一个函数。


推荐阅读