python小练习3:简单的学生成绩管理 | 您所在的位置:网站首页 › python学生成绩字符串 › python小练习3:简单的学生成绩管理 |
目的:输入学生的成绩,自动算出总分平均分以及成绩排名 实现: 1、新建列表alist,存放学生成绩。 2、利用if语句分为两段: (1)、不清楚具体的学生人数: 利用whlie true死循环,一直输入学生成绩,并将每次输入的成绩进行累加,赋值给sorce。 同时利用ls.append()函数将成绩追加到alist列表末尾。直到主动选择“退出”后,跳出循环。 同时打印输出最高分、最低分、平均成绩(通过len()求出列表内的学生人数)。并通过ls.sort()函数对列表里的元素(学生成绩)进行排序。 ls.sort()函数默认排序为从小到大,ls.sort(reverse=true)为从大到小进行排序。 while True: #因为不清楚具体人数,所以选择用死循环 grade = int(input('请输入成绩:')) score = score+grade #分数累加 alist.append(grade) #将分数追加到列表alist b = int(input('是否需要继续输入:【1、继续 2、退出】'))#判断是否继续输入成绩 if b!=1: break print(f'最高分:{max(alist)},最低分:{min(alist)},平均分:{score/len(alist)}') alist.sort(reverse=1) print(f'排名为:{alist}')
(2)、已知学生人数: 思路同上,通过输入的个数进行for循环,直到输完所有学生成绩,结束循环,进行最高分、最低分、平均分的计算输出,以及排名的输出。 i = int(input('请输入本次参考人数:')) for a in range(i): grade = int(input(f'请输入第{a+1}个学生成绩:')) score = score + grade alist.append(grade) print(f'最高分:{max(alist)},最低分:{min(alist)},平均分:{score / i}') alist.sort(reverse=1) print(f'排名为:{alist}') 因为input()输入得到的信息数据类型被强行转换为str,所以使用int()将其转换为int型。总代码如下: #学生成绩管理 alist = [] score = 0 x = input('你是否已知本次参考人数:【Y/N】') if x in 'nN': while True: #因为不清楚具体人数,所以选择用死循环 grade = int(input('请输入成绩:')) score = score+grade #分数累加 alist.append(grade) #将分数追加到列表alist b = int(input('是否需要继续输入:【1、继续 2、退出】'))#判断是否继续输入成绩 if b!=1: break print(f'最高分:{max(alist)},最低分:{min(alist)},平均分:{score/len(alist)}') alist.sort(reverse=1) print(f'排名为:{alist}') else: i = int(input('请输入本次参考人数:')) for a in range(i): grade = int(input(f'请输入第{a+1}个学生成绩:')) score = score + grade alist.append(grade) print(f'最高分:{max(alist)},最低分:{min(alist)},平均分:{score / i}') alist.sort(reverse=1) print(f'排名为:{alist}')运行结果如下: 1、不清楚参加考试的人数 2、清楚本次参加考试的人数;
|
CopyRight 2018-2019 实验室设备网 版权所有 |