資料如下:
stu1.txt 孫同學,2020-5-21,20,『男』,77,56,77,76,92,58,-91,84,69,-91
stu2.txt 趙同學,2020-11-3,24,『女』,65,68,72,95,-81,71,86,91,57,91
stu3.txt 王同學,2021-8-7,25,『男』,87,78,90,-76,88,47,100,65,69,100
stu4.txt 李同學,2021-8-10,29,『男』,92,54,85,71,-91,68,77,68,95,95
以上四個txt文件在work路徑下可以找到。
定義student類,包括name、dob、age、gender和score屬性,包括top3方法用來返回學生的最大的3個成績(可重複)、sanitize方法用來將負的分數變為正的分數,負的分數可能是輸入錯誤。宣告stu_list物件組數用於儲存所有的學生物件。最後輸出所有的學生資訊包括姓名、生日、年齡、性別、最高的3個分數。
第一題的輸出結果如下,供參考:
('姓名:%s 生日:%s 年齡:%s 性別:%s 分數:%s'
%(student.name,student.dob,student.age,student.gender,student.top3())
)show(
'work/stu1.txt'
)show(
'work/stu2.txt'
)show(
'work/stu3.txt'
)show(
'work/stu4.txt'
)注意:這裡題目要求定義宣告stu_list物件組數用於儲存所有的學生物件,結果沒宣告,直接被扣分了(尷尬!)
結果應該把最後的改一下,即:
# 列表初始化
pathlist =
['work/stu1.txt'
,'work/stu2.txt'
,'work/stu3.txt'
,'work/stu4.txt'
]stu_list =
# 讀入建立物件
for i in pathlist:
res = readfile(i)0]
,res[1]
,res[2]
,res[3]
,[int(i)
for i in res[4:
]]))
for i in stu_list:
print
(i)
資料格式如下:
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,spe,score=
):self.spe = spe
student.__init__(self,name,dob,age,gender,score)
def__str__
(self)
:return
"姓名:%s 生日:%s 年齡: %s 性別: %s 分數:%s 特長分:%s"
%(self.name,self.dob,self.age,self.gender,self.top3(
), self.spe)
# 最低的3個得分
deftop3
(self)
:return
sorted
([self.sanitize(s)
for s in self.score])[
0:3]
class
artstudent
(student)
:def
__init__
(self,name,dob,age,gender,spe,score=
):self.spe = spe
student.__init__(self,name,dob,age,gender,score)
def__str__
(self)
:return
"姓名:%s 生日:%s 年齡: %s 性別: %s 分數:%s 特長分:%s"
%(self.name,self.dob,self.age,self.gender,self.top3(
), self.spe)
# 最高的3個得分
deftop3
(self)
:return
sorted
([self.sanitize(s)
for s in self.score])[
-3:]
spo =
'work/stu5.txt'
art =
'work/stu6.txt'
# 讀入建立物件
res = readfile(spo)
spo = spostudent(res[0]
,res[1]
,res[2]
,res[3]
,res[4]
,[int(i)
for i in res[5:
]])print
(spo)
res = readfile(art)
art = artstudent(res[0]
,res[1]
,res[2]
,res[3]
,res[4]
,[int(i)
for i in res[5:
]])print
(art)
百度領航團飛槳零基礎Python 學習筆記
函式是組織好的,可重複使用的,用來實現單一,或相關聯功能的 段。def student name name 列印學生的名字 print 姓名 name return 例2 下面定義乙個函式,返回多個值 def student name and age 記錄學生的名字和年齡 name input 請輸...
百度飛槳領航團 零基礎python速成營學習心得
偶然得知這個python速成營,我懷著試一試的心態前去報名。本課程週期為六天,每天都會有作業,助教老師也會無時無刻的耐心解答我們在編譯 現的問題。作為乙個python新手小白,可以說我對python的一切都是未知的。剛開始心情難免有些惶恐,經過一步步的學習之下,這六天的課程也即將結束。我們都知道,六...
百度飛槳領航團零基礎Python速成營學習心得
之前接觸過python,通過短短6天 直播 回看錄影,每日完成作業的形式,讓我對python物件導向有了進一步的認識。在接近2000人的課程 qq 群中,助教老師每天進行直播提醒 實時答疑 交流互動等,一起學習的同學們積極在群裡分享溝通問題,經常可以看到愛學習的小夥伴深夜還在研究怎麼作每日作業,這種...