本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。
引言
蓝桥杯是国内始终领跑的人才培养选拔模式并获得行业深度认可的IT类科技竞赛。
问题描述
小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数。
如果得分至少是 60 分,则称为及格。如果得分至少为 85 分,则称为优秀。请计算及格率和优秀率,用百分数表示,百分号前的部分四舍五入保留整数。
【输入格式】
输入的第一行包含一个整数 n,表示考试人数。
接下来 n 行,每行包含一个 0 至 100 的整数,表示一个学生的得分。
【输出格式】
输出两行,每行一个百分数,分别表示及格率和优秀率。百分号前的部分
四舍五入保留整数。
【样例输入】
7
80
92
56
74
88
100
0
【样例输出】
71%
43%
解决方案
这是2020年蓝桥杯中的一题,较为简单。认真读完题,按题意理清思路,定义赋值,使用for循环遍历所有数再加if语句判断及格、优秀,最后注意输出格式为百分号且保留为整数。
n=int(input()) excellence=0 passing=0 for i in range(n): score=int(input()) if score>=85: excellence +=1 if score>=60: passing +=1 print(str(round(passing/n*100))+’%’) print(str(round(excellence/n*100))+’%’) |
结语
在解决算法题时,首先要理清解题思路,再逐步去实现。多学习解题的思路,就会发现有的题是一类的。反正多学习,多思考,多总结。
主编:欧洋
稿件来源:深度学习与文旅应用实验室(DLETA)
转载:https://blog.csdn.net/gschen_cn/article/details/114157071