【每日一题】备战冲击蓝桥杯国赛——Python程序设计 | Day07 | 成绩统计 | 真题代码解析
每天刷一道题,话不多说,先刷近两年的题吧,从2020的开始,如果有一起的可以加入我们!!!
一起来刷题,冲击国赛!!!
2020年第十一届蓝桥杯赛题总览
2020年的题就是这些,类型分为两种,分别是结果填空和程序设计,我们每天刷一道题,省赛没问题!
成绩统计(题目)
(本题总分:25分)
官方练习系统:https://www.lanqiao.cn/problems/502/learning/
—>【问题描述】
小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数。
如果得分至少是 60 分,则称为及格。如果得分至少为 85 分,则称为优秀。
请计算及格率和优秀率,用百分数表示,百分号前的部分四舍五入保留整数。
—>【输入描述】
输入的第一行包含一个整数 ,表示考试人数。
接下来 行,每行包含一个 0 至 100 的整数,表示一个学生的得分。
—>【输出描述】
输出两行,每行一个百分数,分别表示及格率和优秀率。百分号前的部分 四舍五入保留整数。
—>【输入输出样例】
输入:
7
80
92
56
74
88
100
0
输出:
71%
43%
解析
通过阅读题干,本题——难度简单:⭐
考察类型:枚举、数学、暴力
考察知识点:round()
分析:
这道题相对昨天的怪物猎人题就友好很多了,比赛的时候,尽量先把自己的能做的题先做了,不用一直死磕不易的题,最后解决。
回到本题。我们发现几乎都能读懂,结果就只需要计算一个及格率和优秀率,用百分比表示,四舍五入保留整数。
先看一下输入样例:
现在我们可以调试了,n=7,然后知道n个人的得分,然后就是计算公式及格率和优秀率:
及格率 = 大于60的人数 / 总人数 n
优秀率 = 大于85的人数 / 总人数 n
值得注意的是,四舍五入的细节。——这里可以使用一个内置函数round(输入数字,小数位数)=转化结果
代码
Python代码实现:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2022/3/1 14:45
# @Author : 府学路18号车神
# @Email :yurz_control@163.com
# @File : Day07.py
n = int(input("输入总人数: ")) # 输入总人数
score = [int(input("输入n个人的成绩:")) for i in range(n) ] # 循环输入n个人的成绩,保存在list中
print(n, score) # 现在已经输入了所有
pass_res, best_res=0, 0 # 设置两个计数器来统计及格率和优秀的人数
# 计算及格率
for x in score:
print(x)
if x >= 60:
pass_res += 1 # 及格人数
for y in score:
if y >= 85:
best_res += 1 # 优秀人数
pass_percent = round((pass_res)/n*100) # *100是由于是小数,然后后面需要表示为%形式
best_percent = round((best_res)/n*100)
print("及格率:", f'{pass_percent}%')
print("优秀率:", f'{best_percent}%')
由此,我们可以快速得出结果,验证完毕!
- 点赞
- 收藏
- 关注作者
评论(0)