python小练习3:简单的学生成绩管理 您所在的位置:网站首页 python学生成绩字符串 python小练习3:简单的学生成绩管理

python小练习3:简单的学生成绩管理

2024-06-12 04:06| 来源: 网络整理| 查看: 265

 目的:输入学生的成绩,自动算出总分平均分以及成绩排名

实现:

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 实验室设备网 版权所有