python公务员面试现场打分。有7位考官,从键盘输入若干组成绩,每组7个分数(百分制),去掉一个最高分和一个最低分,输出每组的平均成绩。 输入输出示例 输入 输入7个整数(0~100),代表7个成绩。 输出 输出去掉最高分和最低分的平均成绩,小数点后保留2位。
时间: 2023-06-11 21:08:24 浏览: 130
可以使用Python的列表和循环来解决这个问题。
代码如下:
```python
scores = []
for i in range(7):
score = input().split()
score = [int(x) for x in score]
score.remove(max(score))
score.remove(min(score))
avg_score = sum(score) / len(score)
scores.append(avg_score)
for score in scores:
print("{:.2f}".format(score))
```
首先,我们创建一个空列表`scores`来存储每组成绩的平均值。
然后,我们使用`for`循环遍历7个考官输入的每组成绩。每组成绩被作为一个字符串输入,因此我们需要使用`split()`方法将其拆分成一个由字符串表示的整数列表。我们使用列表推导式将每个字符串转换为整数。然后,我们使用`max()`和`min()`函数找到最高分和最低分,并将其从列表中移除。接下来,我们计算剩余分数的平均值,并将其添加到`scores`列表中。
最后,我们使用另一个`for`循环遍历`scores`列表,并使用`format()`方法将每个平均分数格式化为小数点后2位的字符串进行输出。
相关问题
Python公务员面试现场打分。有7位考官,从键盘输入若干组成绩,每组7个分数(百分制),
然后求出每个考生的总分和平均分,并输出所有考生的总分和平均分。
可以使用以下代码实现:
```python
scores = []
while True:
line = input("请输入考生成绩(用逗号分隔):")
if not line:
break
scores.append([int(x) for x in line.split(",")])
total_scores = []
for i in range(len(scores)):
total = sum(scores[i])
avg = total / len(scores[i])
total_scores.append(total)
print("第{}个考生的总分为{},平均分为{:.2f}".format(i+1, total, avg))
avg_total = sum(total_scores) / len(total_scores)
print("所有考生的总分为{},平均分为{:.2f}".format(sum(total_scores), avg_total))
```
这段代码中,我们首先通过一个循环,从键盘输入每个考生的7个分数,将这些分数保存在一个二维列表`scores`中。接着,我们遍历`scores`列表,计算每个考生的总分和平均分,并将总分保存在一个一维列表`total_scores`中。最后,我们再次遍历`total_scores`列表,求出所有考生的总分和平均分,并将结果输出到屏幕上。
公务员面试现场打分。有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个,则会给出相应提示。
阅读全文