學生管理系統v2(函式封裝)
阿新 • • 發佈:2018-11-24
之前的非函式版本 列印學生列表程式碼重複,如果要修改需要處處修改。while if 巢狀,程式碼越來越長,不容易維護。所以我們封裝成。函式封裝將大問題分解成小問題,結構更清晰。
student_list = ['小王', '小紅', '小李']
def show_students():
""" 列印學生列表 """
# print(len(student_list))
print('行號\t\t姓名')
print('-------------------')
for i in range(0, len(student_list)):
print (i + 1, '\t\t', student_list[i])
def add_student():
""" 新增學生 """
new_name = input('請新增新姓名:')
student_list.append(new_name)
print('新增成功')
def update_student():
"""修改學生"""
show_students()
stu_num = int(input('修改第幾個:'))
student_list[stu_num - 1] = input('修改後的名字:')
print ('修改成功')
def delete_student():
""" 刪除 """
print(""" 刪除> 請輸入子操作編號:
1)按學生編號刪除
2)刪除全部學生(謹慎)
""")
sub_num = int(input('請選擇子操作:'))
if sub_num == 1:
stu_num = int(input('要刪除第幾個學生?:'))
student_list.pop(stu_num - 1)
print('刪除成功')
elif sub_num == 2:
confirm = input('確認刪除全部?(Y/N)')
if confirm == 'Y'or confirm == 'y':
student_list.clear()
print('刪除全部成功')
def main():
# 主函式,程式入口
while True:
print("""
歡迎使用學生管理系統
1-檢視學員姓名
2-新增學員姓名
3-修改學員姓名
4-刪除學員姓名
0-退出程式
""")
num = int(input('請輸入操作編號:'))
if num == 1:
show_students()
elif num == 2:
add_student()
elif num == 3:
update_student()
elif num == 4:
delete_student()
elif num == 0:
break
if __name__ == '__main__':
main()