0.定义⼀个学⽣类。有属性:姓名、年龄、成绩(语⽂,数学,英语)[每课成绩的类型为整数]
⽅法: a. 获取学⽣的姓名:getname() b. 获取学⽣的年龄:getage()
c. 返回3⻔科⽬中最⾼的分数。get_course()
class Student:
def __init__(self,name='',age=0):
self.name=name
self.age=age
self.score={}
def get_name(self):
return self.name
def get_age(self):
return self.age
def max_score(self):
max_score=0
k=''
for key in self.score:
if max_score<self.score[key]:
k=''
max_score=self.score[key]
k=key
return k,max_score
if __name__ == '__main__':
stu=Student('小李',20)
stu.score={'语文':80,'数学':81,'英语':79}
print(stu.get_name(),stu.get_age(),stu.max_score(),sep='\n')
小李
20
('数学', 81)
#1.建⽴⼀个汽⻋类Auto,包括轮胎个数,汽⻋颜⾊,⻋身重量,速度等成员变量,并通过不同的构造⽅法创
# 建实例。⾄少要求 汽⻋能够加速 减速 停⻋。 再定义⼀个⼩汽⻋类CarAuto 继承Auto 并添加空调、CD等成
# 员变量 覆盖加速 减速的⽅法
class Auto:
def __init__(self,color):
self.tires = 4
self.color=color
self.heavy='5t'
self.speed=40
def acceleration(self,add):
self.speed+=add
return '已经加速%s'% add
def decelerate(self,sub):
self.speed+=sub
return '已经减速%s'% sub
def stop(self):
self.speed=0
print('停车')
class CarAuto(Auto):
def __init__(self,color):
super().__init__(color)
self.air_condition='加热'
self.CD='周杰伦'
def acceleration(self,add):
self.speed+=add
return '小汽车已经加速%s'% add
def decelerate(self,sub):
self.speed+=sub
return '小汽车已经j减速%s'% sub
red 40 4 周杰伦
小汽车已经加速10 小汽车已经减速20 70
停车
0
2.创建⼀个名为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):
self.firstname=firstname
self.lastname=''
self.age=0
self.sex='男'
self.like=''
self.height=0
def describeuser(self):
print('姓名:%s 曾用名:%s 年龄:%d 性别:%s 爱好:%s 身高:%d米'% (self.firstname,self.lastname,self.age,self.sex,self.like,self.height))
def greetuser(self):
print('%s世界因你而精彩。'% self.firstname)
print('%s一生还房款吧。' % self.firstname)
class Admin(User):
def __init__(self,firstname):
super().__init__(firstname)
self.privileges=[]
def show_privileges(self):
for str in self.privileges:
print('%s%s'%(self.firstname,str))
admin=Admin('小人')
admin.privileges=['can add pos',"can delete post","can ban user"]
admin.lastname='人傻'
admin.age=22
admin.sex='女'
admin.like='吃屎'
admin.height=1.5
admin.describeuser()
admin.greetuser()
admin.show_privileges()
姓名:小人 曾用名:人傻 年龄:22 性别:女 爱好:吃屎 身高:1米
小人世界因你而精彩。
小人一生还房款吧。
小人can add pos
小人can delete post
小人can ban user
3.创建⼀个Person类,添加⼀个类字段⽤来统计Perosn类的对象的个数
class Person:
number=0
def __init__(self):
Person.number+=1
def __del__(self):
Person.number-=1
5
(尝试)5.写⼀个类,其功能是:1.解析指定的歌词⽂件的内容 2.按时间显示歌词 提示:歌词⽂件的内容⼀般
是按下⾯的格式进⾏存储的。歌词前⾯对应的是时间,在对应的时间点可以显示对应的歌词
import time
class Music:
lyric_list=[]
def __init__(self):
pass
@classmethod
def get_lyric(cls):
'''解析歌词'''
with open('./text.txt','r',encoding='utf-8') as f:
lyric=f.read()
str1=lyric[13]
str2=''
list1=lyric.splitlines()
for str in list1:
str2+=str
num=0
str3=''
for chr in str2[:]:
if num>2:
if chr!=']' and chr!='[':
str3+=chr
elif chr==']':
str3+=chr+' '
elif chr=='[':
str3+=' '+chr
else:
str3+=chr
num+=1
list1=str3.split()
list2=list1[::-1]
while True:
x=0
for str5 in list2[:]:
if x%2==0:
if '[' in str5:
list2.insert(x,list2[x-2])
break
x+=1
if x==len(list2):
break
list3=list2[::-1]
for x in range(0,len(list3),2):
for y in range(x+2,len(list3),2):
if list3[x]>list3[y]:
list3[x],list3[x+1],list3[y],list3[y+1]=list3[y],list3[y+1],list3[x],list3[x+1]
min=x
for x in range(0, len(list3), 2):
str4=''
for chr in list3[x]:
if chr!='[' and chr!=']':
str4+=chr
list3[x]=str4
print(list3[x], list3[x + 1], sep='')
Music.lyric_list=list.copy(list3)
return list3
@classmethod
def out_lyric(cls):
'''按时间输出歌词'''
# list3=cls.get_lyric()
list3=cls.lyric_list
times = 0
times1 = time.time()
for x in range(0, len(list3), 2):
str6 = list3[x]
print(list3[x], list3[x + 1], sep='')
if x + 2 < len(list3):
mul1 = int(list3[x + 2][0:2])
mul2 = int(list3[x + 2][3:5])
mul3 = int(list3[x + 2][6:8])
mul4 = mul1 * 60 + mul2 + mul3/100
if mul4>int(times):
times2 = time.time()
times = times2 - times1
time.sleep(mul4-times)
print(times)
def set_time(self,time):#输入时间输出歌词
# list3 = self.get_lyric()
list3=Music.lyric_list
print(list3)
for x in range(0, len(list3), 2):
if x + 2 < len(list3):
if time>list3[x] and time<list3[x+2]:
print(list3[x],list3[x+1],sep='')
m=Music()
m.get_lyric()
m.out_lyric()
m.set_time('[01:05.05]')
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蓝莲花
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蓝莲花
162.32194995880127