问题描述

本题要求编写程序,计算学生们的平均成绩,并统计及格(成绩不低于60分)的人数。题目保证输入与输出均在整型范围内。

输入:输入在第一行中给出非负整数N,即学生人数。第二行给出N个非负整数,即这N位学生的成绩,其间以空格分隔。

输出:
average = 成绩均值
count = 及格人数其中平均值精确到小数点后一位。

输入样例:

5
77 54 92 73 60

输出样例:

average =71.2
count = 4

解决方案

首先运用到map函数完成对学生成绩进行输入并且用空格隔开,对所有学生的成绩进行求和,判断及格条件,采用if函数进行判断,如若大于60分,则在人数上加一,然后求其平均成绩并且保留一位小数,最后按照题目要求执行出平均成绩与及格人数。

 

n=int(input("输入学生个数:"))#输入人数
 grade = (map(eval, input('输入学生分数并用空格隔开:').split()))#输入各个同学的分数
 people= 0
 sum=0
 for i in grade:#在grade范围内的数字
     sum+=i
     if i >= 60:#及格分数
         people += 1#每进行一次人数加一
 average="%.1f"%(sum/n)#求学生的平均分数并且保留一位小数
 print('average=' ,average)#输出平均成绩
 print('count=' , people)#输出及格人数

运行结果:

 

Python|统计学生平均成绩与及格人数_Python

 

结语

在完成这个题目时,虽然难度并不是很难,需要先理清逻辑结构,在先运算出什么时,要考虑到下一步做什么,运用了for循环,对总分进行运算,采用if函数对及格的人数进行限定,本题应注意格式的输出,下一次,会慢慢挑战蓝桥杯的题目并且对其研究,扩展对编程的学习。