公务员面试现场打分。有7位考官,从键盘输入若干组成绩,每组7个分数(百分制),去掉一个最高分和一个最低分,输出每组的平均成绩。 输入输出示例 输入 输入7个整数(0~100),代表7个成绩。 输出 输出去掉最高分和最低分的平均成绩,小数点后保留2位
时间: 2023-06-11 12:07:43 浏览: 221
实现如下:
```python
scores = []
for i in range(7):
s = input().split()
scores.append(list(map(int, s)))
for s in scores:
s.sort()
s = s[1:6]
avg = sum(s) / 5
print('%.2f' % avg)
```
这里使用了一个二维列表 `scores` 来存储输入的成绩,每个成绩是一个包含7个整数的列表。然后对每个成绩进行处理,先排序,再去掉最高分和最低分,最后计算平均值并输出。
相关问题
公务员面试现场打分。有7位考官,从键盘输入若干组成绩,每组7个分数(百分制),去掉一个最高分和一个最低分,输出每组的平均成绩。
可以使用循环嵌套和数组来解决这个问题。
首先,需要定义一个二维数组来存储输入的成绩。假设有n组成绩,则数组的大小为n*7。
然后,使用循环嵌套来依次输入每组成绩,并计算平均成绩。外层循环控制组数,内层循环控制每组成绩的输入和求和。在内层循环中,需要使用变量来记录最高分和最低分的位置,在求和结束后去掉这两个分数,再计算平均成绩。
最后,输出每组的平均成绩即可。
下面是一个示例代码:
```python
n = int(input("请输入组数:"))
scores = [[0] * 7 for i in range(n)] # 定义二维数组
# 输入成绩
for i in range(n):
print("请输入第%d组成绩:" % (i+1))
for j in range(7):
scores[i][j] = int(input())
# 计算平均成绩
for i in range(n):
sum = 0
max_index = 0
min_index = 0
for j in range(7):
sum += scores[i][j]
if scores[i][j] > scores[i][max_index]:
max_index = j
if scores[i][j] < scores[i][min_index]:
min_index = j
sum -= scores[i][max_index]
sum -= scores[i][min_index]
avg_score = sum / 5
print("第%d组平均成绩为:%.2f" % (i+1, avg_score))
```
注意,此处使用了格式化字符串来输出结果,保留两位小数。同时,还可以在输入成绩时加上判断语句,确保输入的成绩在0~100之间。
公务员面试现场打分。有7位考官,从键盘输入若干组成绩,每组最多7个有效分数(百分制),最少3个有效分数,去掉一个最高分和一个最低分,输出每组的平均成绩。 如果输入的数字不在正常范围(0-100)内,则当前数字不参与运算! 如果输入有效分数(0-100之间的分数)不足3个,则提示:有效打分不足3个
好的,这是一个比较典型的数据处理问题,可以使用 Python 来解决。以下是代码实现:
```python
def calculate_avg_score(scores):
"""
计算平均分数
"""
if len(scores) < 3:
return "有效打分不足3个"
else:
scores = [s for s in scores if 0 <= s <= 100]
if len(scores) < 3:
return "有效打分不足3个"
else:
return (sum(scores) - max(scores) - min(scores)) / (len(scores) - 2)
def process_scores():
"""
处理分数
"""
while True:
score_str = input("请输入成绩(最多7个有效分数,以空格分隔):")
scores = [int(score) for score in score_str.split() if score.isdigit()]
avg_score = calculate_avg_score(scores)
print("平均分数为:", avg_score)
if __name__ == '__main__':
process_scores()
```
你可以将以上代码保存为 `score.py` 文件,然后在命令行中运行 `python score.py` 来启动程序。每次输入一组成绩后,程序会自动计算并输出平均分数。如果输入的数字不在正常范围或有效分数不足3个,则会给出相应提示。
阅读全文