PTA-python jmu-python-统计成绩

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》

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值