Python-列表:统计考试成绩

将一组考试成绩通过键盘输入,计算及格率、平均分、最高分和最低分。

输入格式:

成绩在一行输入,数据间用空格分隔。

输出格式:

输出及格率、平均分、最高分、最低分,精确到小数后1位。

见样例

输入样例:

80.5 90 100 45 15 65.5

输出样例:

及格率:66.7%
平均分:66.0
最高分:100.0
最低分:15.0

代码展示:

m_list = list(input().split(" "))
m_list_float = [float(x) for x in m_list]  #将字符串列表转换为浮点数列表
a = len(m_list_float)   #计算分数列表的长度
m1 = max(m_list_float)
m2 = min(m_list_float)
sum = 0
c = 0
for i in  range(len(m_list_float)):  #遍历分数列表
    if (m_list_float[i]) >= 60:  #如果当前分数大于等于60,则认为是及格的
        c+=1
    sum = sum + (m_list_float[i])  #将当前分数加到总分中
average = sum / len(m_list_float)
m3 = c / a
m4 = float("%.3f" % m3)  #观察最终输出只保留一位小数,这里保留三位小数是为了后续计算的精度
#使用{:.1%}格式化输出为百分数
print('及格率:{:.1%}\n'          
      '平均分:{:.1f}\n'
      '最高分:{:.1f}\n'
      '最低分:{:.1f}'.format(m4,average,m1,m2))

需要注意的是:

[float(x) for x in m_list] 

这是一个列表推导式,它遍历 m_list 中的每个元素 x,并将其转换为浮点数。这种语法是 Python 中创建新列表的一种简洁方式。

并且Python中的内置函数 max()min()可以迅速地从可迭代对象(例如列表、元组、集合等)中找出最大值和最小值。{:.1%} 用于将小数格式化为百分数并保留一位小数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值