python学生成绩排序_学生成绩排序基础算法笔记

本文介绍了两种Python实现学生成绩排序的方法。第一种通过自定义算法,利用额外的列表记录每个成绩的排名,第二种则使用Python内置的`sort()`函数实现。这两种方法在理解和实现上各有特点,适合不同场景下的成绩排序需求。
摘要由CSDN通过智能技术生成

刚接触程序语言的时候,经常会用到一些排序的问题,按照算法运行效率和理解上面来看的话,有的时候我们可以记录一些比较便于理解的;

1:如果一个班有5个同学考试成绩如下,需要我们通过程序的方式来对成绩从高到低来排序,学生成绩如下:

88,52,67,93,87(各个同学的成绩不相等)

方法一:

list = [88,52,67,93,87] #将这5个学生的成绩存入列表或者数组

rank = [1,1,1,1,1] #新设置一个列表(数组)用于存放list列表中各个元素的排位情况(长度需要跟list一致),这个地方之所以把每个元素设置为1,程序中可以理解

new=[0,0,0,0,0] #定义一个新的列表(数组),用于存放排序后的成绩

for j in range(0,5): #此处用python的语法,用C语言可以是 for(j=0,j<5,j++),此循环设置的目的是用于遍历list列表(数组)

sm = list[j] #将列表(数组)中第一个值赋值给 sm,暂存list元素的值,用于设定后面的值来跟本值的比较,从list第一个元素(88)开始---87结束

for m in list: #再设定一个循环来提取list的每个元素与刚才暂存的sm来比较

if m > sm:

rank[j]=rank[j]+1 #此处是比较关键的,当后面提取出来list元素的值比暂存的sm的值大的时候,rank[j]对应的值就加1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值