1 #!usr/bin/python 2 #encoding=utf-8 3 4 #1. 打印學生管理系統界面 5 def printStd(): 6 print ("*"*50) 7 print(" 學生管理系統V0.1 ") 8 print(" 1.添加學生信息") 9 print(" 2.查找學生信息") 10 print(" 3.刪除學生信息") 11 print(" 4.遍歷學生信息") 12 print(" 5.修改學生信息") 13 print(" 6.退出學生信息") 14 print ("*"*50) 15 choice = input("請輸入需要辦理業務的序號:") 16 if choice <= 6 and choice > 0: 17 return choice 18 else: 19 print("輸入有誤,請重新輸入") 20 printStd() 21 #2.選擇功能:新增、查找、刪除、修改、遍歷、退出 22 #2.1 選擇菜單 23 def makeChoice(choice): 24 if choice == 1: 25 addStd() 26 elif choice ==2: 27 findStd() 28 elif choice == 3: 29 delStd() 30 elif choice ==4: 31 showStd() 32 elif choice ==5: chgStd() 34 elif choice ==6: 35 exitStd() 36 else: 37 print ("輸入有誤,請重新輸入需要辦理業務的序號,謝謝!") 38 printStd() 39 #2.2 添加學生信息 40 def addStd(): 41 stdName = raw_input("請輸入學生姓名:") 42 stdId = input("請輸入學生學號:") 43 stdAge = input("請輸入學生年齡:") 44 stdList = {} 45 stdList['Name'] = stdName 46 stdList['Id'] = stdId 47 stdList['Age'] = stdAge 48 std.append(stdList) 49 print("%-20s%s%15s"%('姓名:','學號:','年齡:')) 50 for temp in std: 51 print("%-20s%d%15d"%(temp['Name'],temp['Id'],temp['Age'])) 52 #2.3 查找學生信息 53 def findStd(): 54 #stdName = raw_input("請輸入需要查找的學生姓名:") 55 stdId = input("請輸入需要查找學生的學號:") 56 flag = 0 57 for temp in std: 58 if stdId == temp['Id']: 59 flag = 1 60 break 61 else: 62 continue if flag == 1: 64 print("您要查找的學生信息如下:\n姓名:%s 學號:%d 年齡:%d"%(temp['Name'],temp['Id'],temp['Age'])) 65 else: 66 print("很抱歉,系統不存在該學生信息!") 67 68 #2.4 刪除學生信息 69 def delStd(): 70 stdId = input("請輸入需要刪除學生的學號:") 71 flag = 0 72 for temp in std: 73 if stdId == temp['Id']: 74 indexId = std.index(temp) 75 flag = 1 76 break 77 else: 78 continue 79 if flag ==1: 80 assure = raw_input ("確認是否刪除?(yes or no):") 81 if assure == "yes": 82 del std[indexId] 83 print("恭喜您已成功刪除該新學生了!") 84 else: 85 print("您放棄刪除該學生信息了!") 86 else: 87 print("很抱歉,系統不存在該學生信息!") 88 89 #2.5 遍歷所有學生信息: 90 def showStd(): print("所有學生信息如下:") 91 print("%-20s%s%15s"%('姓名:','學號:','年齡:')
92 for temp in std:
93 print("%-20s%d%15d"%(temp['Name'],temp['Id'],temp['Age']))
94 #2.6 修改學生信息:
95 def chgStd():
96 stdId = input("請輸入需要修改學生的學號:")
97 flag = 0
98 for temp in std:
99 if stdId == temp['Id']:
100 flag = 1
101 assure = raw_input ("確認是否修改?(yes or no):")
102 if assure == "yes":
103 condition= input ("修改名字:0 修改年齡:1 全部修改:2 請輸入相應序號:")
104 if condition == 0:
105 newName = raw_input ("請輸入修改后的姓名:")
106 temp['Name'] = newName
107 elif condition ==1:
108 temp['Age'] = input("請輸入修改后的年齡:")
109 else:
110 newName = raw_input ("請輸入修改后的姓名:")
111 temp['Name'] = newName
112 temp['Age'] = input("請輸入修改后的年齡:")
113 print("恭喜您已修改成功!")
114 break
115 else:
116 print("您已放棄修改了!")
117 break
118 else:
119 continue
120 if flag ==0:
121 print("很抱歉,系統不存在該學生信息!")
123 #2.6 退出系統
124 def exitStd():
125 global label
126 key = raw_input("確認退出系統?(yes or no)")
127 while(1):
128 if key == "yes":
129 print("感謝使用系統,歡迎下次再來!")
130 label = 1
131 break
132 else:
133 print("請重新選擇需要辦理的業務編號!")
break
134 #3.主程序 135 def main(): 136 choice = printStd() 137 while choice<=6: 138 makeChoice(choice) 139 if label ==1: 140 break 141 choice = printStd() 142 143 144 label=0 145 std = [] 146 main()
1. 新增學生:


2.查找學生信息:

3.刪除學生:

4.遍歷可驗證學號為12的學生是否已刪除:

為空,已刪除。正常遍歷如下:

5. 修改:


修改成功。
6.退出:

