对学生的成绩分层处理

该文章演示了如何使用Python的基础for循环和if条件判断对学生成绩进行分层,并分享了代码。作者生成20个0到99的随机数,根据成绩范围将其分配到不同列表,并计算平均值,找出超过平均值的分数。此外,还展示了如何找出列表中3的倍数。文章强调理解编程逻辑而非单纯复制代码的重要性。
摘要由CSDN通过智能技术生成

 我此时用了基础的for循环和if判断完成对学生成绩分层然后输出,同时我也将自己写的代码与大家分享,供初学者分享,我的代码不一样的最好的,也有可能与别人一样的

lst_data = [];lst_arga = [];lst_a = [];lst_b = []
lst_50 = [];lst_60 = [];lst_70 = [];lst_80 = [];lst_90 = []
i = 0;lst_arg = 0               #以上皆为初始化以及空列表
import random                   #要用到random函数
for i in range(20):
    a = random.randint(0,100)   #random随机生成0到99的数字
    lst_data.append(a)          #append将a里的随机数放入lst_data
print("二十个随机数已生成:",lst_data)    #输出随机数保证自己能看到生成了什么
for i in lst_data:              #for循环,次数是根据lst_data列表个数循环
    if i < 60:                  #分层
        lst_50.append(i)
    elif i < 70:
        lst_60.append(i)
    elif i < 80:
        lst_70.append(i)
    elif i < 90:
        lst_80.append(i)
    else:
        lst_90.append(i)        #if elif else 判断这数字,然后进行分层
print("60以下的有", lst_50)      #输出各个层级的分数
print("60到70以下的有", lst_60)
print("70到80以下的有", lst_70)
print("80到90以下的有", lst_80)
print("90到100以下的有", lst_90)
for i in lst_data:              #在这里开始是因为自己有题目,与大家分享一下
    if i % 3 == 0:              #既然是要列表里随机数为3的倍数的,进行数学计算保证取余是0
        lst_a.append(i)
print("这是随机数列表为3的倍数的元素",lst_a)  #输出
lst_arg = (sum(lst_data)/len(lst_data))     #这里是求了随机数列表的平均值
for i in lst_data:                          #for 开始判断,那些数字超过了平均值
    if i > lst_arg:
        lst_arga.append(i)
print("超出列表平均数的元素有",lst_arga)

可以看到我用了大量的空列表,但实际上如果看得懂的话很好理解(有一个列表是我里面没用到的,大家知道是哪个么awa)

用了for循环,循环20次,用random函数生成了我要的0到99的随机数 所以lst_data列表里有20个数字,循环了几次就有多少个。

if elif else 进行分层 每下一个判断都是对上一个的判断进行否定(我应该说明白逻辑了吧)

输出完以后就是我因为自己有特殊题目而写的:

if i % 3 == 0 是判断lst_data从第0个开始到最后结束一个个,判断是否能取余是0,是的话append函数放入了lst_a列表

sum函数时对于列表里所有的数字进行了累加和,len函数则是计算了列表里的长度,我求了arg平均值,if进行了逐个随机数的判断,如果大于这个平均数就会append函数操作放入lst_arga里。

以上是逻辑的讲解,希望刚入坑的程序员不是ctrl c +ctrl v ,而是理解逻辑,能自己编出来代码

我的代码不是最好的,也许会和别人一样

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值