1 def showinfo(): 2 print("-"*30) 3 print(' 學生管理系統v1.0 ') 4 print(' 1.添加學生的信息') 5 print(' 2.刪除學生的信息') 6 print(' 3.修改學生的信息') 7 print(' 4.查詢學生的信息') 8 print(' 5.遍歷所有學生的信息') 9 print(' 6.退出系統') 10 print('-'*30) 11 def addNewstu(studentsTemp): 12 print('您選擇了添加學生信息功能') 13 name=input('請輸入學生姓名:') 14 stuid=input('請輸入學生學號(不要相同哦!!):') 15 age=input('請輸入學生年齡:') 16 #驗證學號是否唯一 17 i=0 18 flag=0 19 for temp in students: 20 if temp['id']==stuid: 21 flag=1 22 break 23 else: 24 i=i+1 25 if flag==1: 26 print('輸入學生學號重復,添加失敗!') 27 else: 28 #定義一個字典,存放單個學生信息 29 stuinfo={} 30 stuinfo['name']=name 31 stuinfo['id']=stuid 32 stuinfo['age']=age 33 #單個學生信息放入列表 34 studentsTemp.append(stuinfo) 35 print('添加成功') 36 def shanchustu(shanchustu1): 37 print('您選擇了刪除學生信息功能') 38 delid=input('請輸入要刪除的學生學號:') 39 i=0 40 leap=0 41 for temp in students: 42 if temp['id']==delid: 43 leap=1 44 break 45 else: 46 i+i+1 47 if leap==0: 48 print('沒有此學生序號,刪除失敗') 49 else: 50 del students[i] 51 #del students[temp] 52 print('刪除成功') 53 def xiugai(xiugai1): 54 print('您選擇了修改學生信息功能') 55 alterid=input('請輸入你要修改的學生學號:') 56 #檢查是否有此學生學號,然后進行修改信息 57 i=0 58 leap=0 59 for temp in students: 60 if temp['id']==alterid: 61 leap=1 62 break 63 else: 64 i=i+1 65 if leap==1: 66 while True: 67 alternum=int(input('1.修改學號\n2.修改姓名\n3.修改年齡\n4.退出修改\n')) 68 if alternum==1: 69 newid=input('請輸入更改后的學號:') 70 #修改后的學號要驗證是否唯一 71 i=0 72 leap1=0 73 for temp1 in students: 74 if temp1['id']==newid: 75 leap1=1 76 break 77 else: 78 i=i+1 79 if leap1==1: 80 print('輸入學號不可重復修改失效') 81 else: 82 temp['id']=newid 83 print('學號修改成功') 84 elif alternum==2: 85 newname=input('請輸入更改后的姓名:') 86 temp['name']=newname 87 print('姓名修改成功') 88 elif alternum==3: 89 newage=input('輸入更改后的年齡:') 90 temp['age']=newage 91 print('年齡修改成功') 92 elif alternum==4: 93 break 94 else: 95 print('輸入錯誤請重新輸入') 96 else: 97 print('沒有此學號修改失聯') 98 def chaxun(chaxun1): 99 print('您選擇了查詢學生信息功能') 100 searchid=input('請輸入你要查詢的學生學號:') 101 #驗證是否有此學號 102 i=0 103 leap=0 104 for temp in students: 105 if temp in students: 106 if temp['id']==searchid: 107 leap=1 108 print('找到此學生,信息如下:') 109 print('學號:%s\n姓名:%s\n年齡:%s\n' % (temp['id'], temp['name'], temp['age'])) 110 break 111 else: 112 i=i+1 113 print('沒有此學生學號查詢失敗') 114 def bianli(bianli1): 115 #遍歷並輸出所有學生的信息 116 print('*'*28) 117 print('接下來遍歷所有學生的信息') 118 print('id 姓名 年齡') 119 for temp in students: 120 print('%s %s %s'%(temp['id'],temp['name'],temp['age'])) 121 print('*'*20) 122 students=[] 123 while True: 124 showinfo() 125 key=int(input('請選擇功能序號:')) 126 if key==1: 127 addNewstu(students) 128 elif key==2: 129 shanchustu(students) 130 elif key==3: 131 xiugai(students) 132 elif key==4: 133 chaxun(students) 134 elif key==5: 135 bianli(students) 136 elif key==6: 137 quitconfirm=input('親真的要退出嗎(yes or no)???(ó﹏ò。)\n') 138 if quitconfirm=='yes': 139 print('謝謝你的陪伴!!!我會一直在這等你!ʕ•ᴥ•ʔ') 140 break 141 else: 142 print('您輸入有誤,請重新輸入')