P145 4、7题 用python写一个类

第4题:

定义一个学生类,包括学号、姓名和出生日期三个属性(数据成员);包括一个用于给定数据成员初始值的构造函数;包含一个可计算学生年龄的方法。编写该类并对其进行测试。

我对类并不熟悉,此题代码来源于:python 类 的小练习_星羽空间的博客-CSDN博客_设计一个立方体类box,定义三个属性

代码为:   注意:运行时请将student1中的学号、生日完善方可运行,否则识别不了

import datetime
class student:
    def __init__(self, Sno, Sname, Sbarthday, Sfaction):
        self.Sage = 0
        self.Sname = Sname
        self.Sno = Sno
        self.Sbarthday = datetime.datetime.strptime(Sbarthday, "%Y-%m-%d")
        self.Setage(Sbarthday)

    def Setage(self, Sbarthday):
        if (datetime.date.today().month - self.Sbarthday.month) >= 0:
            if (datetime.date.today().day - self.Sbarthday.day) < 0 and (
                    datetime.date.today().month - self.Sbarthday.month) == 0:
                self.Sage = datetime.date.today().year - self.Sbarthday.year - 1
            else:
                self.Sage = datetime.date.today().year - self.Sbarthday.year
        else:
            self.Sage = datetime.date.today().year - self.Sbarthday.year - 1

student1 = student('2091201xx', '阿鹏', '20xx-xx-01', 68)
print("学号:{0}   姓名:{1}  年龄:{2}".format(student1.Sno, student1.Sname, student1.Sage))

第7题:

建立一个汽车car类,包括:

属性:汽车颜色color、车身重量weight、速度speed.

构造函数:能初始化各个属性值(speed初始值设为50)。

方法:

speedup():将属性值speed+10并显示speed值;

speedCut():降属性值speed-10并显示speed值;

show ():显示属性值color、weight、speed。

在主程序中创建实例并初始化各属性值,调用show方法、加速方法、减速方法。

代码为:

class Car:
    def __init__(self,color,weight,speed=50):   #定义并将speed赋初值为50
        self.color=color
        self.weight=weight
        self.speed =speed
    def __str__(self):
        return '颜色:%r,重量:%r,速度:%rkm/h' % ( self.color, self.weight, self.speed)
Lamborghini = Car('天蓝色','1520kg',350)   #速度可自行修改
bicycle=Car('白色','20kg')    #速度也可使用默认值
print(f'兰博基尼的属性为:\n{Lamborghini}')
print(f'自行车的属性为:\n{bicycle}')

  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

重工Ai

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值