我此时用了基础的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 ,而是理解逻辑,能自己编出来代码
我的代码不是最好的,也许会和别人一样