非计算机专业同学的Python自我修养-3
记录本科大一下的学习过程
WEEK-5例题
Ps:用手机看效果打折扣
Q1:统计高于平均分的人数
特别鸣谢:XRJGG
【问题描述】
从若干学生成绩中统计高于(严格的大于)平均分的人数,用-1做为学生成绩数据的结束标志。如果没有输入成绩,则输出0。
【输入形式】
一组学生的成绩
【输出形式】
高于平均分的学生人数
#样例输入
70 50 80 -1
#样例输出
2
代码:
a=input().split(' ') #这里的a是list形式
score=0
number=0
if a[0] != '-1':#如果输入的值是-1,那么直接去最后面的else输出0
for i in a:
i=int(i) #这里把i从str变成int格式
score += i #score会把之前的数全部加起来
number += 1 #number统计输入数字个数
average_score=(score+1)/(number-1)
greater=0
#这里再次使用for in 不得不说 真的可
for j in a:
j=int(j)
if j > average_score :
greater += 1
print(greater) #同理,可print
else:#为什么要把else放在后面和第一个if并列?
#不把else放在后面,前面统计number=0,而0作除数时会报错
print('0')
X设计的代码还是非常巧妙。
输出示例:無
Q2:逆序排列
【问题描述】
编写程序对标准输入的10个整数置逆序排列并输出。
【输入形式】
标准输入的前十行代表参与计算的十个整数。
【输出形式】
标准输出的一行表示逆序后的数组,以空格作为间隔。
#样例输入
1
2
3
4
5
6
7
8
9
10
#样例输出
10 9 8 7 6 5 4 3 2 1
代码: