版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
《python編程與實踐》習(xí)題4答案《Python編程與實踐》習(xí)題4答案參考內(nèi)容:
習(xí)題4:實現(xiàn)一個學(xué)生管理系統(tǒng),包含以下功能:
1.添加學(xué)生信息;
2.刪除學(xué)生信息;
3.查詢學(xué)生信息;
4.修改學(xué)生信息。
在實現(xiàn)學(xué)生管理系統(tǒng)之前,我們需要先確定學(xué)生的信息包括哪些內(nèi)容。一般來說,學(xué)生的信息至少包括學(xué)號、姓名、性別、年齡等。因此,我們可以設(shè)計一個學(xué)生類,用于存儲和管理學(xué)生的信息。
###學(xué)生類的設(shè)計
```python
classStudent:
def__init__(self,sid,name,gender,age):
self.sid=sid
=name
self.gender=gender
self.age=age
def__str__(self):
returnf"學(xué)號:{self.sid},姓名:{},性別:{self.gender},年齡:{self.age}"
```
上述代碼定義了一個學(xué)生類,包含了學(xué)號、姓名、性別、年齡等屬性,并重寫了`__str__`方法,用于返回學(xué)生對象的字符串表示。
###學(xué)生管理系統(tǒng)的實現(xiàn)
```python
classStudentManagementSystem:
def__init__(self):
self.students=[]
defadd_student(self,student):
self.students.append(student)
defremove_student(self,sid):
student=self.find_student(sid)
ifstudent:
self.students.remove(student)
print(f"已刪除學(xué)號為{sid}的學(xué)生信息。")
else:
print(f"學(xué)號為{sid}的學(xué)生不存在。")
deffind_student(self,sid):
forstudentinself.students:
ifstudent.sid==sid:
returnstudent
returnNone
defmodify_student(self,sid,name=None,gender=None,age=None):
student=self.find_student(sid)
ifstudent:
ifname:
=name
ifgender:
student.gender=gender
ifage:
student.age=age
print(f"已修改學(xué)號為{sid}的學(xué)生信息。")
else:
print(f"學(xué)號為{sid}的學(xué)生不存在。")
defquery_student(self,sid=None,name=None,gender=None,age=None):
result=[]
forstudentinself.students:
if(sidisNoneorstudent.sid==sid)and(nameisNoneor==name)\
and(genderisNoneorstudent.gender==gender)and(ageisNoneorstudent.age==age):
result.append(student)
ifresult:
forstudentinresult:
print(student)
else:
print("沒有找到符合條件的學(xué)生。")
```
上述代碼定義了一個學(xué)生管理系統(tǒng)類,包含了添加學(xué)生、刪除學(xué)生、查詢學(xué)生、修改學(xué)生等方法。該類使用一個列表`students`來存儲學(xué)生對象。
-`add_student`方法用于添加學(xué)生,將學(xué)生對象添加到`students`列表中;
-`remove_student`方法用于刪除學(xué)生,根據(jù)學(xué)號查找學(xué)生對象并從`students`列表中刪除;
-`find_student`方法用于查找學(xué)號對應(yīng)的學(xué)生對象;
-`modify_student`方法用于修改學(xué)生信息,根據(jù)學(xué)號查找學(xué)生對象并修改指定的屬性;
-`query_student`方法用于查詢學(xué)生信息,根據(jù)學(xué)號、姓名、性別、年齡等條件過濾學(xué)生對象,并進行打印輸出。
###使用學(xué)生管理系統(tǒng)
```python
if__name__=="__main__":
s1=Student("1001","張三","男",18)
s2=Student("1002","李四","女",19)
s3=Student("1003","王五","男",20)
sms=StudentManagementSystem()
sms.add_student(s1)
sms.add_student(s2)
sms.add_student(s3)
sms.query_student()#查詢所有學(xué)生信息
sms.query_student(sid="1001")#根據(jù)學(xué)號查詢學(xué)生信息
sms.modify_student("1002",name="小李")#修改學(xué)生姓名
sms.remove_student("1003")#刪除學(xué)生信息
sms.query_student()#再次查詢學(xué)生信息
```
上述代碼首先創(chuàng)建了三個學(xué)生對象,并創(chuàng)建一個學(xué)生管理系統(tǒng)對象`sms`。然后,通過`sms`對象的方法進行學(xué)生信息的添加、刪除、修改、查詢等操作。
最后,打印輸出學(xué)生信息的示例結(jié)果如下:
```
學(xué)號:1001,姓名:張三,性別:男,年齡:18
學(xué)號:1002,姓名:李四,性別:女,年齡:19
學(xué)號:1003,姓名:王五,性別:男,年齡:20
學(xué)號:1001,姓名:張三,性別:男,年齡:18
已修改學(xué)號為1002的學(xué)生信息。
已刪除學(xué)號為1003
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 生鮮培訓(xùn)課件教學(xué)課件
- 2024年廣告銷售代理合同
- 2024年度企業(yè)級云計算服務(wù)平臺合作合同
- 2024國際快遞運輸服務(wù)合同詳細條款
- 大班課件春節(jié)教學(xué)課件
- 真菌課件圖文教學(xué)課件
- 2024年度企業(yè)科技創(chuàng)新與研發(fā)外包合同協(xié)議書
- 2024年建筑工程施工合同與工程監(jiān)理協(xié)議
- 2024物業(yè)合同糾紛案件
- 2024中船工貿(mào)公司船舶建造合同版本
- 雅魯藏布江大拐彎巨型水電站規(guī)劃方案
- 廣西基本醫(yī)療保險門診特殊慢性病申報表
- 城市經(jīng)濟學(xué)習(xí)題與答案
- 國開成本會計第14章綜合練習(xí)試題及答案
- 幼兒園大班科學(xué):《樹葉為什么會變黃》課件
- 1到50帶圈數(shù)字直接復(fù)制
- 鐵路工程施工組織設(shè)計(施工方案)編制分類
- 幼兒園中班數(shù)學(xué)《有趣的圖形》課件
- 《規(guī)劃每一天》教案2021
- 草莓創(chuàng)意主題實用框架模板ppt
- 山大口腔頜面外科學(xué)課件第5章 口腔種植外科-1概論、口腔種植的生物學(xué)基礎(chǔ)
評論
0/150
提交評論