蓝桥杯python-成绩统计及格率和优秀率

小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数。如果得分至少是 60 分,则称为及格。如果得分至少为 85 分,则称为优秀。请计算及格率和优秀率,用百分数表示,百分号前的部分四舍五入保留整数。

解题思路:很简单的一道题,用for循环和if语句即可完成。

1.首先输入学生的人数,定义及格人数和优秀人数。

2. for循环n次,依次输入n个同学的成绩,根据题目要求用if语句分别求出及格人数和优秀人数。

3.除以总人数即可得到及格率与优秀率,这里要注意输出数据的格式,要求四舍五入保留整百分数。

import os

import sys

n = int(input("请输入学生人数:"))

pass_num = 0 # 及格人数

perfect_num = 0 # 优秀人数

for i in range(1,n+1):

score = int(input("请输入第{}个学生的成绩".format(i)))

# 60分以上及格

if score>=60:

pass_num += 1

# 85~100为优秀

if score>=85 and score<=100:

perfect_num += 1

# 计算比例,保留整数,且以百分号的形式表示

# {:.0%}

print("及格率为{:.0%}".format(pass_num/n))

print("优秀率为{:.0%}".format(perfect_num/n))

补充:其它数据输出形式

  1. python自带函数round

round(a,b):对a四舍五入保留b位小数

如round(3.141,2)表示对3.141四舍五入保留两位小数,输出3.14

  1. {:.af}表示保留a位小数 故此题还可以这样写

a = round(pass_num/n,2)

b = round(perfect_num/n,2)

print("及格率为{:.0f}%".format(a*100))

print("优秀率为{:.0f}%".format(b*100))

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值