Python编写学生类计算年龄、成绩等级

本文介绍了一个学生类的设计,包括姓名、出生日期和成绩属性。通过构造函数初始化数据,实现了年龄计算和成绩等级转换的功能,并展示了如何使用该类进行实例化和输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


1. 题目🔍

编写个学生类Student

  • 包含姓名、出生日期和成绩属性(数据成员);
  • 包含一个用于给定数据成员初始值的构造函数
  • 包含一个可计算学生年龄的方法(学生年龄判断根据日期是否超过生日的年、月、日);
  • 包含一个将成绩对应成等级的方法
  • 包含一个输出“姓名+年龄+成绩等级”的方法

1.1 输入样例1

Name: LindaSilk
Birth: 2016-08-24
Grade(0~100): 99

1.2 输出样例1

姓名: LindaSilk  年龄: 3  成绩:

1.3 输入样例2

Name: 林大夕可
Birth: 2000-02-29
Grade(0~100): 85

1.4 输出样例2

姓名: 林大夕可  年龄: 20  成绩:

2. 题解✨

2.1 代码

from datetime import date


class Student:
    def __init__(self, name, birth, grade):
        self.name = name
        self.birth = birth
        self.grade = grade

    def calculate_age(self):
        today = date.today()									# 获取今天的日期
        year, month, day = map(int, self.birth.split('-'))		# 将birth以'-'拆分储存为年、月、日
        age = (today.year - year - ((today.month, today.day) < (month, day)))
        return age

    def classify(self):
        dic = {
            '优': [90, 100],
            '良': [80, 89],
            '中': [70, 79],
            '及格': [60, 69],
            '不及格': [0, 59]
        }														# 用字典方法判断等级
        for k, v in dic.items():
            if v[0] <= self.grade <= v[1]:
                return k

    def out(self):
        print('姓名: {}  年龄: {}  成绩: {}'.format(self.name, self.calculate_age(), self.classify()))


name = input('Name: ')
birth = input('Birth: ')
grade = input('Grade(0~100): ')

s1 = Student(name, birth, int(grade))
s1.out()														# 调用Student类中的out方法

看到这里,相信聪明的你已经基本掌握了编写学生类计算年龄、成绩等级的方法。✿✿ヽ(°▽°)ノ✿

那么… 不如去听听我的歌放松一下叭~😂


相关内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值