0.定义一个学生类。
有属性:姓名、年龄、成绩(语文,数学,英语)[每课成绩的类型为整数]
方法:
a. 获取学⽣的姓名:getname()
b. 获取学生的年龄: getage()
c. 返回3门科目中最高的分数。get_course()
class Student:
def __init__(self,name='',age=0,chinese=0,math=0,english=0):
self.name = name
self.age = age
self.chinese = chinese
self.math = math
self.english = english
# 获取学生姓名
def get_name(self):
print(self.name)
# 获取学生年龄
def get_age(self):
print(self.age)
# 获取学生最高分
def get_course(self):
max_coure = 0
for coure in [self.chinese,self.math,self.english]:
if max_coure < coure:
max_coure = coure
print(max_coure)
if __name__ == '__main__':
stu1 = Student('张三',20,58,67,39)
stu1.get_name()
stu1.get_age()
stu1.get_course()
stu2 = Student('李四',21,89,68,76)
stu2.get_name()
stu2.get_age()
stu2.get_course()
结果:
张三
20
67
李四
21
89
1.建立一个汽车类Auto,包括轮胎个数,汽车颜色,车身重量,速度等成员变量,并通过不同的构造方法创建实例。至少要求:汽车能够加速,减速,停车。再定义一个小汽车类CarAuto 继承Auto 并添加空调、CD等成员变量覆盖加速减速的方法。
class Auto:
def __init__(self, color='', weight=''):
self.tyre = 4
self.color = color
self.weight = weight
self.speed = 50
# 加速
def up_speed(self):
self.speed += 20
if self.speed > 100:
print('车子已超速,时速%dkm/h,请减速!', self.speed)
else:
print('车子当前时速%dkm/h!', self.speed)
# 减速
def down_speed(self):
self.speed -= 38
if self.speed <= 0:
print('车子已停车!')
else:
print('车子当前时速%dkm/h!', self.speed)
class CarAuto(Auto):
def __init__(self,color, weight, air_conditioner='',cd=''):
super().__init__(color, weight)
self.air_conditioner = air_conditioner
self.cd = cd
# 覆盖加速
def up_speed(self):
self.speed += 40
if self.speed > 120:
print('车子已超速,时速%dkm/h,请减速!', self.speed)
else:
print('车子当前时速%dkm/h!', self.speed)
# 覆盖减速
def down_speed(self):
self.speed -= 50
if self.speed <= 0:
print('车子已停车!')
else:
print('车子当前时速%dkm/h!', self.speed)
if __name__ == '__main__':
auto1 = Auto('white','1560kg')
print(auto1.__dict__)
auto1.up_speed()
auto1.up_speed()
auto1.up_speed()
auto1.down_speed()
auto1.down_speed()
auto1.down_speed()
auto2 = CarAuto('black','1700kg','空调','CD')
print(auto2.__dict__)
print('打开'+auto2.air_conditioner)
print('播放'+auto2.cd)
auto2.up_speed()
auto2.up_speed()
auto2.down_speed()
auto2.down_speed()
auto2.down_speed()
# 结果:
{'tyre': 4, 'color': 'white', 'weight': '1560kg', 'speed': 50}
车子当前时速%dkm/h! 70
车子当前时速%dkm/h! 90
车子已超速,时速%dkm/h,请减速! 110
车子当前时速%dkm/h! 72
车子当前时速%dkm/h! 34
车子已停车!
{'tyre': 4, 'color': 'black', 'weight': '1700kg', 'speed': 50, 'air_conditioner': '空调', 'cd': 'CD'}
打开空调
播放CD
车子当前时速%dkm/h! 90
车子已超速,时速%dkm/h,请减速! 130
车子当前时速%dkm/h! 80
车子当前时速%dkm/h! 30
车子已停车!
2.创建一个名为User的类,其中包含属性firstname 和 lastname ,还有用户简介通常会存储的其他几个属 性。在类User 中定义一个名为describeuser() 的方法,它打印用户信息摘要 ; 再定义一个名为 greetuser() 的 方法,它向用户发出个性化的问候。
管理员是一种特殊的用户。编写一个名为Admin 的类,让它继承User类。添加一个名为privileges 的属性,用于存储一个由字符串(如"can add post"、"can delete post"、"can ban user"等)组成的列表。编写一个名为 show_privileges()的方法,它显示管理员的权限。创建一个Admin 实例,并调用这方法。
from random import randint
class User:
def __init__(self,first_name,last_name):
self.first_name = first_name
self.last_name = last_name
def describe_user(self):
print(self.last_name,self.first_name)
def greet_user(self):
i = randint(1,3)
if i == 1:
print('今天过得愉快吗?')
if i == 2:
print('电脑用久了,您休息了吗?')
if i == 3:
print('今天按时吃饭了吗?')
class Admin(User):
def __init__(self,first_name,last_name,):
super().__init__(first_name,last_name)
self.privileges = ['can add post','can delete post','can ban user']
def show_privileges(self):
print(self.privileges)
if __name__ == '__main__':
user1 = User('三','张')
user1.describe_user()
user1.greet_user()
user2 = Admin('酌','陈')
user2.describe_user()
user2.greet_user()
user2.show_privileges()
结果:
张 三
电脑用久了,您休息了吗?
陈 酌
今天按时吃饭了吗?
['can add post', 'can delete post', 'can ban user']
3.创建一个Person类,添加一个类字段用来统计Perosn类的对象的个数。
class Person:
count = 0
def __init__(self):
Person.count += 1
if __name__ == '__main__':
p1 = Person()
p2 = Person()
p10 = Person()
print(Person.count)
结果:
3