存储50名学生的信息,包括:学号,姓名,语文成绩,
数学成绩,英语成绩(成绩为随机生成0-100之间的整数)
(1)计算每名同学的平均成绩并排序
(2)分别计算每门课程的平均分
(3)输出每门课程最高分,最低分学生名单,统计各分段
学生人数:0-59,60-69,70-79,80-89,90-100
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181# @Time : 2020/10/5 18:04 # @Author : Yurken # @File : 10.5日作业.py import random name = ['包乐山', '包咏琦', '杨强', '李晶晶', '於斌涛', '石卓', '贾玉盈', '石江南', '乔倩倩', '杨光', '王霖', '贺立松', '任可', '张翔', '王振强', '吕彦良', '黛肖黎', '秦斌', '包锐', '包礼军', '黄宁宁', '许杰', '吴娜', '后箫航', '杜玉曦', '赫倩倩', '杨玉倩', '张蕊', '王蕊蕊', '孝雪霞', '曹建', '曾嫖丽', '杜勇', '弥玉薇', '常睿娟', '后妙慧', '罗亚婷', '骆冰冰', '后田田', '包圆圆', '孙启浩', '周佳颖', '张孙辰', '黄砺锋', '周南', '严楚楚', '张乐缘', '刘瑛轩', '谭静', '吴逸菲'] num = [0] * 50 # 学号 f = 1804011001 for i in range(0, 50): num[i] = f + i chinese = random.choices(range(0,100),k=50,weights=range(0,100)) # 随机生成语文成绩,成绩可重复,此随机方式导致每次都有不一样的成绩 math = random.choices(range(0,100),k=50,weights=range(0,100)) # 随机生成数学成绩 english = random.choices(range(0,100),k=50,weights=range(0,100)) # 随机生成英语成绩 information = [name, num, chinese, math, english] # 学生信息生成 avegrade=[0]*50 for i in range(0,50): avegrade[i]=(chinese[i]+math[i]+english[i])/3 # 计算语数英三科平均成绩 avegrade = [round(i,2) for i in avegrade] # 将总平均成绩保留两位小数 a=[None]*50 for i in range(0,50): a[i]=[name[i],num[i],avegrade[i]] # 将姓名,学号,总平均成绩合成a列表 b=sorted(a, key=lambda x:x[2], reverse=True) # 将a列表降序成为b列表 print("请选择你想要的操作:n" "1.查看学生信息n" "2.查看总平均成绩排序n" "3.查看语文成绩平均分n" "4.查看数学成绩平均分n" "5.查看英语成绩平均分n" "6.查看每门课程最低分名单n" "7.查看每门课程最高分名单n" "8.统计各分段学生人数n" "0.退出") q=int(input()) while q!=0: if q==1: information=[None]*50 for i in range(0, 50): information[i] = [name[i], num[i], chinese[i],math[i],english[i]] for i in information: print(" ".join(str(k) for k in i)) # 将学生信息以空格分隔输出 print("请继续输入:") q = int(input()) elif q == 2: for i in b: print(" ".join(str(k) for k in i)) print("请继续输入:") q = int(input()) elif q==3: avechinese =0 for i in chinese: avechinese+=i avechinese=avechinese/50 avechinese= round(avechinese,3) print("语文平均成绩为:",avechinese) print("请继续输入:") q = int(input()) elif q==4: avemath = 0 for i in math: avemath += i avemath = avemath / 50 avemath= round(avemath,3) print("数学平均成绩为:",avemath) print("请继续输入:") q = int(input()) elif q==5: avenglish = 0 for i in english: avenglish += i avenglish = avenglish / 50 avenglish= round(avenglish,3) print("英语平均成绩为:", avenglish) print("请继续输入:") q = int(input()) elif q==6: print("语文最低分为:") aveyw1 = [None] * 50 for i in range(0, 50): aveyw1[i] = [name[i], chinese[i]] for i in range(0,50): yw=min(chinese) if yw==aveyw1[i][1]: print(aveyw1[i]) print("数学最低分为:") avesx1 = [None] * 50 for i in range(0, 50): avesx1[i] = [name[i], math[i]] for i in range(0, 50): sx = min(math) if sx == avesx1[i][1]: print(avesx1[i]) print("英语最低分为:") aveyy1 = [None] * 50 for i in range(0, 50): aveyy1[i] = [name[i], english[i]] for i in range(0, 50): yy = min(english) if yy == aveyy1[i][1]: print(aveyy1[i]) print("请继续输入:") q = int(input()) elif q==7: print("语文最高分为:") aveyw = [None] * 50 for i in range(0, 50): aveyw[i] = [name[i], chinese[i]] for i in range(0,50): yw=max(chinese) if yw==aveyw[i][1]: print(aveyw[i]) print("数学最高分为:") avesx = [None] * 50 for i in range(0, 50): avesx[i] = [name[i], math[i]] for i in range(0, 50): sx = max(math) if sx == avesx[i][1]: print(avesx[i]) print("英语最高分为:") aveyy = [None] * 50 for i in range(0, 50): aveyy[i] = [name[i], english[i]] for i in range(0, 50): yy = max(english) if yy == aveyy[i][1]: print(aveyy[i]) print("请继续输入:") q = int(input()) elif q==8: ywe=0 ywd=0 ywc=0 ywb=0 ywa=0 for i in chinese: if 0<=i<=59: ywe+=1 elif 60<=i<=69: ywd+=1 elif 70<=i<=79: ywc+=1 elif 80<=i<=89: ywb+=1 elif 90<=i<=100: ywa+=1 print('语文成绩分布:n0-59:',ywe,'人n60-69:',ywd,'人n70-79:',ywc,'人n80-89:',ywb,'人n90-100:',ywa,'人') sxa=sxb=sxc=sxd=sxe=0 for i in math: if 0 <= i <= 59: sxe += 1 elif 60 <= i <= 69: sxd += 1 elif 70 <= i <= 79: sxc += 1 elif 80 <= i <= 89: sxb += 1 elif 90 <= i <= 100: sxa += 1 print('数学成绩分布:n0-59:', sxe, '人n60-69:', sxd, '人n70-79:', sxc, '人n80-89:', sxb, '人n90-100:', sxa, '人') yya=yyb=yyc=yyd=yye=0 for i in english: if 0 <= i <= 59: yye += 1 elif 60 <= i <= 69: yyd += 1 elif 70 <= i <= 79: yyc += 1 elif 80 <= i <= 89: yyb += 1 elif 90 <= i <= 100: yya += 1 print('英语成绩分布:n0-59:', yye, '人n60-69:', yyd, '人n70-79:', yyc, '人n80-89:', yyb, '人n90-100:', yya, '人') print("请继续输入:") q = int(input()) elif q==0: print('程序已结束!') break
最后
以上就是顺利蓝天最近收集整理的关于简单学生成绩分析系统的全部内容,更多相关简单学生成绩分析系统内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复