1 """如果是将这个系统改成绩查询的,又该怎么做,字典的话如何进行叠加"""
2
3 #定义信息列表
4
5 print("欢迎进入学生成绩管理系统! ************ 请查看你能进行的操作 ************")6 menu = ("1.录入","2.查询","3.修改","4.删除","5.预览","6.退出")7 orderid = (1,2,3,4,5,6) #操作的步骤选择
8 student =[]9 a = 1
10 m =011 n =012 while a == 1: #目的是使操作一直在使用,循环,最后不操作退出
13 for opration inmenu:14 print(opration)15 order = input("请输入序号,进行你想要的操作:")16 """while True:17 order = input("请输入序号,进行你想要的操作:")18 try:19 order = int(order)20 break21 except:22 print("pls enter number")23 continue"""
24 #order = input("请输入序号,进行你想要的操作:")#限制输入的数据类型
25 iforder.isdigit():26 order =int(order)27 else:28 print("请输入正确的数字")29 continue
30
31 if int(order) inorderid:32
33 while int(order) == 1:34 valid =035 while notvalid:36 valid = 1
37 name = input("请输入学生的姓名:")#数据录入#需要解决重复录入的问题
38 for stu_name instudent:39 if name == stu_name["姓名"]:40 stu_id = input("该学生已经录入信息,请确认是否重复录入,并比较学号")41 if stu_id == stu_name["学号"]:42 print("重复录入!请录入下一个")43 valid =044 break
45
46 print("请继续接下来的信息录入!")47
48 id = input("请输入学生号:")49 classid = input("请输入学生的班级:")50 Chinese = float(input("请输入语文成绩:"))51 Math = float(input("请输入数学成绩:"))52 English = float(input("请输入英语成绩:"))53 Physical = float(input("请输入物理成绩:"))54 Chemistry = float(input("请输入化学成绩:"))55 Biological = float(input("请输入生物成绩:"))56 Score = round((Chinese * 3 + Math * 3 + English * 3 + Physical * 2 + Chemistry * 2 + Biological * 2) / 15,2)57
58 #定义一个新的字典
59 grade ={}60 grade["姓名"] =name61 grade["学号"] =id62 grade["班级"] =classid63 grade["语文"] =Chinese64 grade["数学"] =Math65 grade["英语"] =English66 grade["物理"] =Physical67 grade["化学"] =Chemistry68 grade["生物"] =Biological69 grade["加权总分"] =Score70
71 #将一个字典,添加到列表中
72 student.append(grade)73
74 print("你已经成功录入了一份信息,继续录入请按Y,返回菜单请按N")75 exit =input()76 if exit == "y":77 continue
78 else:79 break
80
81
82 while int(order) == 2:83
84 name = input("请输入你要查找的学生的姓名:")85 n += 1
86 if n > 2:87 print("你已经重复输错三次,请确认姓名再进行查询操作")88 n =089 continue
90
91 t_name = 0#输入正确标志位
92
93 for sname instudent:94 if name == sname["姓名"]:95 print("该同学的记录是:",sname)96 #print("%s同学的记录是:学号%s 班级%s 语文%.2f 数学%.2f 英语%.2f 物理%.2f 化学%.2f 生物%.2f "
97 #"加权总分%.2f" % (name,sname["学号"],sname["班级"],sname["语文"],sname["数学"],sname["物理"],sname["化学"],sname["生物"],sname["加权总分"]))
98
99 t_name = 1
100
101 break
102
103 if t_name ==0:104 exit = input("查询错误,请重确认要查询的学生姓名,退回主菜单请按N")105 if exit == "n":106 break
107 continue
108 else:109 exit = input("查询成功,输入名字继续查询,退回主菜单请按N")110 if exit == "n":111 break
112 continue
113
114
115 while int(order) == 3:116 name = input("请输入你要修改信息的学生的姓名:")117
118 t_name = 0 #输入正确标志位
119
120 for sname instudent:121 if name == sname["姓名"]:122 id = input("请输入学生号:")123 classid = input("请输入学生的班级:")124 Chinese = float(input("请输入语文成绩:"))125 Math = float(input("请输入数学成绩:"))126 English = float(input("请输入英语成绩:"))127 Physical = float(input("请输入物理成绩:"))128 Chemistry = float(input("请输入化学成绩:"))129 Biological = float(input("请输入生物成绩:"))130 Score =round(131 (Chinese * 3 + Math * 3 + English * 3 + Physical * 2 + Chemistry * 2 + Biological * 2) / 15, 2)132
133 grade["姓名"] =name134 grade["学号"] =id135 grade["班级"] =classid136 grade["语文"] =Chinese137 grade["数学"] =Math138 grade["英语"] =English139 grade["物理"] =Physical140 grade["化学"] =Chemistry141 grade["生物"] =Biological142 grade["加权总分"] =Score143
144 t_name = 1
145 break
146
147 if t_name ==0:148 exit = input("查询错误,请重确认要修改的学生姓名,退回主菜单请按N")149 if exit == "n":150 break
151 continue
152 else:153 exit = input("查询成功,输入名字继续查询,退回主菜单请按N")154 if exit == "n":155 break
156 continue
157
158
159 while int(order) == 4:160
161 name = input("请输入你要删除信息的学生的姓名:")162
163 t_name = 0 #输入正确标志位
164
165 for sname instudent:166 if name == sname["姓名"]:167 student.remove(sname)168 t_name = 1
169 break
170 if t_name ==0:171 exit = input("查询错误,请重确认要删除的学生姓名,退回主菜单请按N")172 if exit == "n":173 break
174 continue
175 else:176 exit = input("查询成功,输入名字继续删除,退回主菜单请按N")177 if exit == "n":178 break
179 continue
180
181 while int(order) == 5:182 if len(student) ==0:183 print("系统里面没有数据,请录数据")184 break
185 else:186 for s_name instudent:187 print(s_name)188 exit = input("预览成功!按任意键返回主菜单 ")189 break
190
191 if int(order) == 6:192 print("感谢你的使用,再见! ")193 break
194
195
196 else:197 print("输入有误,请输入序号1~6")198 m += 1
199 if m > 2:200 print("你已经重复输错三次,结束本次操作")201 break
202 continue
Pythonfor循环叠加 python循环叠加成绩
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
11个Python循环技巧
本文将介绍如何使用循环在Python中创建多个列表,并提供代码实例。
Python 数据 字符串 列表 循环 -
python 循环字符串拼接 python怎样将循环结果叠加
循环要计算1+2+3,我们可以直接写表达式:>>> 1 + 2 + 36要计算1+2+3+...+10,勉强也能写出来。但是,要计算1+2+3+...+10000,直接写表达式就不可能了。为了让计算机能计算成千上万次的重复运算,我们就需要循环语句。Python的循环有两种,一种是for...in循环,依次把list或tuple中的每个元素迭代出来,看例子:names = ['M
python 循环字符串拼接 python 廖雪峰 vb 循环 出错继续 廖雪峰 python商业爬虫 廖雪峰python -
python for循环变空 pythonfor循环条件
for循环在Python中是一个通用的序列迭代器:可以遍历任何有序的序列对象内的元素。可用于字符串,列表,元组,其他内置可迭代对象,以及通过类所创建的新对象。
python for循环变空 for循环 赋值 迭代