#定义一个学生类,包括学号、姓名和出生日期三个属性(数据成员) \ #包括一个用于给定数据成员初始值的构造函数;包含一个可计算学生年龄的方法。编写该类并对其进行测试。 import time class Student: name="None" ID="None" bir="None" def __init__(self,name,age,bir): self.name=name self.age = age self.bir = bir def cal_age(self): time1=time.localtime() years=time1.tm_year print(years,type(years)) print(self.bir,type(self.bir)) str=self.bir print(str[0,3]) #print(self.bir[0,3],type(self.bir[0,3])) #age=years-int(self.bir[0,3]) #print(f"age={age}") s1=Student("leo","23","1999-10-27") s1.cal_age()
时间: 2024-01-28 09:05:19 浏览: 64
一个 Student类:包括姓名、学号、性别、专业、家庭地址。
在你给出的代码中,出现了一些小问题,比如在初始化函数中,没有给ID属性赋值,而在计算年龄的方法中,出生日期的格式也需要进行处理。下面是修改后的代码:
```python
import time
class Student:
def __init__(self, ID, name, bir):
self.ID = ID
self.name = name
self.bir = bir
def cal_age(self):
time1 = time.localtime()
years = time1.tm_year
birth_year = int(self.bir[0:4])
age = years - birth_year
print(f"{self.name}的年龄为{age}岁")
s1 = Student("001", "leo", "1999-10-27")
s1.cal_age()
```
在上面的代码中,我们给出了一个包含学号、姓名和出生日期三个属性的学生类,同时也定义了一个用于给定数据成员初始值的构造函数,并且在该类中包含了一个计算学生年龄的方法。最后,我们创建了一个学生对象s1,并对其进行了测试。
阅读全文