飞桨百度领航团大作业
飞桨领航团是飞桨开发者的兴趣社区,为开发者们提供丰富的本地技术沙龙、Meetup、及线上交流平台,面向所有对人工智能及深度学习领域感兴趣的开发者开放。在各个城市/高校领航团团长及成员的热情支持下,飞桨领航团已建立132个社群,覆盖28个省级行政区,108个高校,并且在持续增长中。欢迎开发者们加入领航团,结识更多本地技术同好,共建开源社区,共享开源成果与快乐。定义Student类,包括name、dob、age、gender和score属性,包括top3方法用来返回学生的最大的3个成绩(可重复)、sanitize方法用来将负的分数变为正的分数,负的分数可能是输入错误。声明stu_list对象组数用于存储所有的学生对象。最后输出所有的学生信息包括姓名、生日、年龄、性别、最高的3个分数。
文章图片
# 请在此处完成代码
def opentext(txt):
with open(txt) as f:
line = f.readline()
# print(line.strip().split(','))
return line.strip().split(',')class Student():
def __init__(self, name, dob, age, gender, score):
self.name = name
self.dob = dob
self.age = age
self.gender = gender
self.score = scoredef name(self):
return self.namedef dob(self):
return self.dobdef age(self):
return self.agedef gender(self):
return self.genderdef top3(self):
newlist = []
for t in self.score:
t = int(t)
if t < 0 :
t = -t
newlist.append(t)
return sorted(newlist)[::-1][:3]def printf(textname):
txtlist = opentext(textname)
name = txtlist.pop(0)
dob = txtlist.pop(0)
age = txtlist.pop(0)
gender = txtlist.pop(0)
student = Student(name, dob, age, gender, txtlist)
# print(student.name)a
print(f'姓名:{student.name} 生日:{student.dob} 年龄:{student.age} 性别:{student.gender} 分数:{student.top3()}')printf('work/stu1.txt')
printf('work/stu2.txt')
printf('work/stu3.txt')
printf('work/stu4.txt')
stu5.txt 特长同学,2020-10-5,20,‘男’,180,87,98,77,76,92,58,-76,84,69,-47
stu6.txt 特长同学,2020-10-6,20,‘女’,230,76,48,82,88,92,58,-91,84,69,-68
以上两个txt文档在work路径下可以找到。
定义Spostudent、Artstudent为Student的子类,在子类的属性里面新增了spe为特长分数。Spostudent包括的top3方法返回的是最低的3个得分(可重复),Artstudent包括top3方法返回的是最高的3个得分(可重复),最后使用多态的方式输出2个特长同学的姓名、生日、年龄、性别、分数、特长分。
文章图片
# 请在此处完成代码
class Spostudent(Student):
def __init__(self, name, dob, age, gender, score, spe):
Student.__init__(self, name, dob, age, gender, score)
self.spe = spedef spe(self):
return self.speclass Artstudent(Student):
def __init__(self,name, dob, age, gender, score):
Student.__init__(self, name, dob, age, gender, score)def top3(self):
newlist = []
for t in self.score:
t = int(t)
if t < 0 :
t = -t
newlist.append(t)
return sorted(newlist)[0:3]def printf(text,a):
txtlist = opentext(text)
name = txtlist.pop(0)
dob = txtlist.pop(0)
age = txtlist.pop(0)
gender = txtlist.pop(0)
spe = txtlist.pop(0)
spostudent = Spostudent(name, dob, age, gender, txtlist, spe)
artstudent = Artstudent(name, dob, age, gender, txtlist)
if a == 0:
a = spostudent.top3()
else:
a = artstudent.top3()
print(f'姓名:{spostudent.name} 生日:{spostudent.dob} 年龄:{spostudent.age} 性别:{spostudent.gender} 分数:{a} 特长分:{spostudent.spe}')printf('work/stu5.txt', 1)printf('work/stu5.txt', 1)
printf('work/stu6.txt', 0)
课程心得 【py|【飞浆百度领航团零基础Python】学习笔记】六天过的很快,意犹未尽,还没有好好啊体会就结束了,收获很多也会继续关注.
平台的使用就像是工具书
会基础的使用以后就可以了
推荐阅读
- python自学——数据类型之列表
- 1001 A+B Format
- Python基础|六、Python基础(封装、继承、多态)
- Python|百度飞桨领航团零基础Python速成营课程总结
- paddle课程|【paddle领航团基础python课程】三岁水课—结营大作业
- python|python 计算器 casio_Python编程之计算器/字符及界面
- python学习|python应用学习系列笔记
- python学习|python应用学习(一)——python生成二维码
- python|Pandas实例|药品发放汇总与excel表数据回填