标题
假如朋友圈分享了这篇文章,如何吸引朋友点击打开这篇文章。
问题描述
示例:小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数。如果得分至少是 60 分,则称为及格。如果得分至少为 85 分,则称为优秀。请计算及格率和优秀率,用百分数表示,百分号前的部分四舍五入保留整数。
输入:输入的第一行包含一个整数 n,表示考试人数。接下来 n 行,每行包含一个 0 至 100 的整数,表示一个学生的得分。
输出:输出两行,每行一个百分数,分别表示及格率和优秀率。百分号前的部分四舍五入保留整数。
解决方案
用文字描述解题思路,可配合一些图形进行描述以便更好的阐述。
代码清单 1 DFS求解1到100求和问题Python代码
Courier New字体,23磅行间距
n = int(input())
s,m = 0,0
for i in range(n):
g = int(input())
if g>=85:
s +=1
m +=1
elif g>=60:
s +=1
S = int(s/n*1000)
M = int(m/n*1000)
If S%10 >=5:
S = S//10+1
else:
S = S//10
If M%10 >=5:
M = M//10+1
else:
M = M//10
Print(str(S)+”%”)
Print(str(M)+”%”)
结语
这次的问题我们小组经过讨论,最终决定解决这个蓝桥杯成绩统计的问题,这次的问题就是两个循环加对应的条件语句,一个“人数”的循环和一个“分数”的循环,最终解决了这个问题,但是不足的是:我们发现在进行输入数据时比较麻烦,假如说是很大的数据群的话,这种方法就显然不适用了,所以我们小组准备再次针对这个问题在下一次的算法创作和后面的学习中找到更好地算法。