从键盘输入一串数字表示一个节目的所有分数,求平均分数(去掉一个最高分,去掉一个最低分,求最后得分,保留两位小数)
时间: 2024-02-01 07:02:01 浏览: 146
好的,我可以为您提供Python的代码实现,如下所示:
```python
scores = input("请输入节目的所有分数,用空格隔开:")
score_list = scores.split() # 将输入的字符串转换为列表
score_list = [float(score) for score in score_list] # 将列表中的字符串元素转换为浮点数
score_list.sort() # 将列表从小到大排序
score_list = score_list[1:-1] # 去掉第一个和最后一个元素
average_score = sum(score_list) / len(score_list) # 计算平均分数
average_score = round(average_score, 2) # 保留两位小数
print("平均分数为:", average_score)
```
这段代码会从键盘获取一串数字,将其转化为列表,去掉最高分和最低分,计算平均分数,并将结果保留两位小数,最后输出平均分数。您可以直接运行这段代码,在控制台输入您所需要的数字,就能得到平均分数的结果。
相关问题
python公务员面试现场打分。有7位考官,从键盘输入若干组成绩,每组7个分数(百分制),去掉一个最高分和一个最低分,输出每组的平均成绩。 输入输出示例 输入 输入7个整数(0~100),代表7个成绩。 输出 输出去掉最高分和最低分的平均成绩,小数点后保留2位。
可以使用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位的字符串进行输出。
公务员面试现场打分。有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之间。
阅读全文