- 0.定义⼀个学⽣类。有属性:姓名、年龄、成绩(语⽂,数学,英语)[每课成绩的类型为整数]
⽅法: a. 获取学⽣的姓名: getname() b. 获取学⽣的年龄: getage()
c. 返回3⻔科⽬中最⾼的分数。 get_course()
class Student:
def __init__(self,name,age,chinese_score,math_score,english_score):
self.name = name
self.age = age
self.chinese_score = chinese_score
self.math_score = math_score
self.english_score = english_score
def get_name(self):
print(self.name)
def get_age(self):
print(self.age)
def get_course(self):
lists = [self.chinese_score,self.math_score,self.english_score]
print(max(lists))
stu1 = Student('xzq',18,89,90,10)
stu1.get_name()
stu1.get_age()
stu1.get_course()
D:\千锋培训作业\第三周作业\day14-作业\venv\Scripts\python.exe D:/千锋培训作业/第三周作业/day14-作业/homework/作业0.py
xzq
18
90
Process finished with exit code 0
- 1.建⽴⼀个汽⻋类Auto,包括轮胎个数,汽⻋颜⾊,⻋身重量,速度等成员变量,并通过不同的构造⽅法创建实例。⾄少要求 汽⻋能够加速 减速 停⻋。 再定义⼀个⼩汽⻋类CarAuto 继承Auto 并添加空调、 CD等成
员变量 覆盖加速 减速的⽅法
class Auto:
def __init__(self,tyre='',color='',weight='',speed=''):
self.tyre = tyre
self.color = color
self.weight = weight
self.speed = speed
def speed_up(self):
print('汽车正在加速!')
def speed_down(self):
print('汽车正在减速!')
def stop(self):
print('汽车已停车!')
class CarAuto(Auto):
def __init__(self,air_conditioner='',CD=''):
super().__init__(tyre='',color='',weight='',speed='')
self.air_conditioner = air_conditioner
self.CD = CD
def speed_up(self):
print('汽车正在加速!')
def speed_down(self):
print('汽车正在减速!')
def stop(self):
print('汽车已停车!')
car1 = CarAuto(10,20)
car1.tyre = 11
print(car1.tyre)
D:\千锋培训作业\第三周作业\day14-作业\venv\Scripts\python.exe D:/千锋培训作业/第三周作业/day14-作业/homework/作业1.py
11
Process finished with exit code 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,lastname):
self.firstname = firstname
self.lastname = lastname
def describeuser(self):
print('用户信息:%s %s'% (self.firstname,self.lastname))
def greetuser(self):
print('%s你好啊'% self.lastname)
class Admin(User):
def __init__(self,privileges=[]):
super().__init__(firstname='',lastname='')
self.privileges = []
def show(self):
self.__show_privileges()
@classmethod
def __show_privileges(cls):
print('管理员,你好')
ad1 = Admin('i can do it')
ad1.show()
D:\千锋培训作业\第三周作业\day14-作业\venv\Scripts\python.exe D:/千锋培训作业/第三周作业/day14-作业/homework/作业2.py
管理员,你好
Process finished with exit code 0
- 3.创建⼀个Person类,添加⼀个类字段⽤来统计Perosn类的对象的个数
class Person:
number = 0
def __init__(self):
Person.number += 1
@classmethod
def numbers(cls):
return cls.number
a =Person()
b =Person()
c =Person()
print(Person.numbers())
D:\千锋培训作业\第三周作业\day14-作业\venv\Scripts\python.exe D:/千锋培训作业/第三周作业/day14-作业/homework/作业3.py
3
Process finished with exit code 0
- (尝试)5.写⼀个类,其功能是: 1.解析指定的歌词⽂件的内容 2.按时间显示歌词 提示:歌词⽂件的内容⼀般
是按下⾯的格式进⾏存储的。歌词前⾯对应的是时间,在对应的时间点可以显示对应的歌词
[00:00.20]蓝莲花
[00:00.80]没有什么能够阻挡
[00:06.53]你对⾃由地向往
[00:11.59]天⻢⾏空的⽣涯
[00:16.53]你的⼼了⽆牵挂
[02:11.27][01:50.22][00:21.95]穿过幽暗地岁⽉
[02:16.51][01:55.46][00:26.83]也曾感到彷徨
[02:21.81][02:00.60][00:32.30]当你低头地瞬间
[02:26.79][02:05.72][00:37.16]才发觉脚下的路
[02:32.17][00:42.69]⼼中那⾃由地世界
[02:37.20][00:47.58]如此的清澈⾼远
[02:42.32][00:52.72]盛开着永不凋零
[02:47.83][00:57.47]蓝莲花
import re
class Lyrics:
"""歌词类"""
def __init__(self):
self.lrc = ''
self._time = 0
@property
def time(self):
return self._time
@time.setter
def time(self,time):
fen = float(time[:2])
miao = float(time[3:])
self._time = fen*60 + miao
def __lt__(self, other):
return self._time < other.time
#自定义类的对象的打印
def __str__(self):
return str(self._time) + ':' + self.lrc
class AnalysisLyrcs:
"""解析歌词"""
def __init__(self,file_path):
self.all_lrc = []
self.file_path = file_path
def __anlysis_lyrics(self):
"""解析歌词"""
with open(self.file_path,'r',encoding='utf-8')as f:
#一行一行的读文件中的内容
line = f.readline()
while line:
#对当前读的一行的内容进行操作
self.__operate_line(line)
line = f.readline()
# 在这人已经将文件中所有的内容都读完了,并且转换成了歌词对象,保存到all_lrc中了
# 排序
self.all_lrc.sort(reverse=True)
# for lrc in self.all_lrc:
# print(lrc)
def __operate_line(self,line):
# print(line)
# [00:00.20]蓝莲花
#切割
lines = line.split(']')
# ['00:00.20','蓝莲花']
#取词
lrc = lines[-1]
#遍历所有的时间
for index in range(len(lines)-1):
# print('%s:%s'%(lrc , lines[index]))
# 创建歌词对象
lyrics = Lyrics()
# 设置歌词和时间属性
lyrics.lrc = lrc
lyrics.time = lines[index][1:]
# 00:00.20
# 保存歌词对象
self.all_lrc.append(lyrics)
def show_lrc(self,time):
if not self.all_lrc:
self.__anlysis_lyrics()
self.__anlysis_lyrics()
for item in self.all_lrc:
if item.time <time:
return item.lrc
# lan_lian_hua = AnalysisLyrcs('./蓝莲花')
# lan_lian_hua.anlysis_lyrics()
lan_lian_hua = AnalysisLyrcs('./蓝莲花')
# print(lan_lian_hua.show_lrc(100))
# print(lan_lian_hua.show_lrc(15))
import time
time1 = 0
while True:
time.sleep(1)
time1 += 1
print(lan_lian_hua.show_lrc(time1))