jmu-python-统计成绩 输入一批学生成绩,计算平均成绩,并统计不及格学生人数。
接下来我们引入题目

①很多同学看到“每行输入一个数据,输入数据为负数结束输入”时会不知所措,怎么办?
在这里我们引入while的死循环
i=1
while i :
print(i+1)
由于while循环具有重复执行的特点,如果条件表达式的值为True。这段代码中,循环的条件 i 的值一直是1,所以循环的条件一直为True,则循环会一直执行,永远不会结束。
所以为了满足输入数据为负数结束输入我们有以下操作:
while 1:
n=int(input())
if n<0:
break
这样我们就解决了输入的问题
②那么如何求平均分,以及不及格的人数呢?我们在这里引入列表
我们先将输入的数据放在一个列表里方便我们以后的处理
lst=[]
while 1:
n=int(input())
if n<0:
break
lst.append(n)
ave=sum(lst)/len(lst)#平均分
lst1=[]
for i in lst:
if i<60:#不及格人数
lst1.append(i)
fail=len(lst1)
其中 len函数 在这里不加以说明
③最后我们在考虑如果没有学生数据,输出没有学生
这时想必大家会想到 if else那么完整代码如下
lst=[]
while 1:
n=int(input())
if n<0:
break
lst.append(n)
if len(lst)==0:
print("没有学生")
else:
ave=sum(lst)/len(lst)#平均分
lst1=[]
for i in lst:
if i<60:#不及格人数
lst1.append(i)
fail=len(lst1)
print("平均分={:.2f},不及格人数={}".format(ave,fail))
《python实战编程:从零学python》
本文介绍了如何使用Python处理学生成绩数据,包括通过while循环读取输入,计算平均分,统计不及格人数。当输入负数时终止输入,利用列表存储成绩,然后计算平均分及不及格人数。在没有学生数据的情况下,程序会输出提示信息。代码简洁明了,适合初学者学习。
2863

被折叠的 条评论
为什么被折叠?



