1.定义一个学生类。有属性:姓名、年龄、成绩(语文,数学,英语)[每课成绩的类型为整数]
方法: a. 获取学生的姓名:getname() b. 获取学生的年龄:getage()
c. 返回3门科目中最高的分数。get_course()
class Student:
def __init__(self,name,age,course):
self.name = name
self.age = age
self.course = course
def getname(self):
print(self.name)
def getage(self):
print(self.age)
def get_course(self):
print(max(self.course))
s1 = Student('张三丰',20,[80,95,70])
s1.getname()
s1.getage()
s1.get_course()
结果:
张三丰
20
95
2.建立一个汽车类Auto,包括轮胎个数,汽车颜色,车身重量,速度等成员变量,并通过不同的构造方法创建实例。至少要求汽车能够加速 减速 停车。 再定义一个小汽车类CarAuto 继承Auto 并添加空调、CD等成员变量 覆盖加速 减速的方法
class Auto:
def __init__(self,number_tyre=4,color='红色',weight=200):
self.number_tyre = number_tyre
self.color = color
self.weight = weight
self.speed = 0
def speed_up(self):
self.speed + 10
print('加速')
def speed_down(self):
self.speed - 10
print('减速')
def stop(self):
self.speed == 0
print('停车')
class CarAuto(Auto):
def __init__(self):
super().__init__()
self.air_conditioner = '空调'
self.cd = 'CD'
def stop(self):
super().stop()
a = Auto(4,'蓝色','300kg')
print(a.number_tyre,a.color,a.weight)
a.speed_down()
a.speed_up()
a.stop()
C = CarAuto()
C.stop()
print(C.air_conditioner)
print(C.cd)
结果:
4 蓝色 300kg
减速
加速
停车
停车
空调
CD
3.创建一个名为User 的类,其中包含属性firstname 和lastname ,还有用户简介通常会存储的其他几个属性。在类User 中定义一个名 为describeuser() 的方法,它打印用户信息摘要;再定义一个名为greetuser() 的方法,它向用户发出个性化的问候。管理员是一种特殊的用户。编写一个名为Admin 的类,让它继承User类。添加一个名为privileges 的属性,
用于存储一个由字符串(如"can add post"、"can delete post"、"can ban user"等)组成的列表。编写一个名为show_privileges()的方法,它显示管理员的权限。创建一个Admin 实例,并调用这个方法。
class User:
def __init__(self,firstname='三丰',lastname='张',age=22,sex='男'):
self.firstname = firstname
self.lastname = lastname
self.age = age
self.sex = sex
def describeuser(self):
print('姓名:%s %s 年龄:%d 性别:%s'% (self.lastname,self.firstname,self.age,self.sex))
def greetuser(self):
print('尊敬的用户,您好!,欢迎使用!')
class Admin(User):
def __init__(self):
super().__init__()
self.privileges = ['can add post', 'can delete post', 'can ban user']
def show_privileges(self):
for privileges in self.privileges:
print(privileges)
a = Admin()
print(a.lastname)
a.show_privileges()
a.greetuser()
a.describeuser()
结果:
张 三丰
can add post
can delete post
can ban user
尊敬的用户,您好!,欢迎使用!
姓名:张三丰 年龄:22 性别:男
4.创建一个Person类,添加一个类字段用来统计Perosn类的对象的个数
class Person:
count = 0
def __init__(self,name,age,sex):
self.name =name
self.age = age
self.sex = sex
Person.count += 1
p1=Person('盖聂',26,'男')
print(Person.count)
p2=Person('月儿',22,'女')
print(Person.count)
5.写一个类,其功能是:1.解析指定的歌词文件的内容 2.按时间显示歌词
提示:歌词文件的内容一般是按下面的格式进行存储的。歌词前面对应的是时间,在对应的时间点可以显示对应的歌词
class Song_Lyric:
'''歌词类'''
def __init__(self,song_name = str):
self.song_name = song_name
self.content = []
self.time = {}
def Lyric_content(self):
with open('./song_name.txt','r',encoding='utf-8') as f:
while True:
Lyric = f.readline()
if len(Lyric) == 0:
break
# 按']',进行切割,取出歌词
content = Lyric.split(']')[-1]
# 去掉每行的间隔
content = content.rstrip('\n')
# 把歌词存在一个新的列表里
self.content.append(content)
for item in self.content:
print(item)
def Lyric_time(self):
with open('./song_name.txt','r',encoding='utf-8') as f:
while True:
Lyric = f.readline()
if not len(Lyric):
break
# 按']',进行切割,取出时间
content = Lyric.split(']')
# 取出歌词,消除间隔
content1 = content[-1].rstrip('\n')
# 遍历时间信息
for item in content[0:-1]:
self.time[item[1:]] = content1
keys = list(self.time.keys())
keys.sort()
dict1 = {}
for key in keys:
dict1[key] = self.time[key]
self.time = dict1
return self.time
s = Song_Lyric()
s.Lyric_content()
t = s.Lyric_time()
for key in t:
print(key,t[key])
结果:
蓝莲花
没有什么能够阻挡
你对自由地向往
天马行空的生涯
你的心了无牵挂
穿过幽暗地岁月
也曾感到彷徨
当你低头地瞬间
才发觉脚下的路
心中那自由地世界
如此的清澈高远
盛开着永不凋零
蓝莲花
00:00.20 蓝莲花
00:00.80 没有什么能够阻挡
00:06.53 你对自由地向往
00:11.59 天马行空的生涯
00:16.53 你的心了无牵挂
00:21.95 穿过幽暗地岁月
00:26.83 也曾感到彷徨
00:32.30 当你低头地瞬间
00:37.16 才发觉脚下的路
00:42.69 心中那自由地世界
00:47.58 如此的清澈高远
00:52.72 盛开着永不凋零
00:57.47 蓝莲花
01:50.22 穿过幽暗地岁月
01:55.46 也曾感到彷徨
02:00.60 当你低头地瞬间
02:05.72 才发觉脚下的路
02:11.27 穿过幽暗地岁月
02:16.51 也曾感到彷徨
02:21.81 当你低头地瞬间
02:26.79 才发觉脚下的路
02:32.17 心中那自由地世界
02:37.20 如此的清澈高远
02:42.32 盛开着永不凋零
02:47.83 蓝莲花
网友评论