列表中存放了由系统随机生成的10个100以内的整数,分别表示10个评委的评分。请编写程序,去掉其中的一个最高分和一个最低分,求剩下8个分数的平均值。
时间: 2023-05-31 07:18:10 浏览: 440
C语言程序设计-编写程序。从键盘读入8个整数存入数组a中并输出这8个数据。和、最大值、最小值及平均值。正数之和、负数之和
5星 · 资源好评率100%
### 回答1:
可以按照以下步骤编写程序:
1. 定义一个列表,存放10个100以内的随机整数,表示10个评委的评分。
2. 使用内置函数max和min,分别找到列表中的最高分和最低分,并将它们从列表中删除。
3. 使用内置函数sum,计算剩下8个分数的总和。
4. 计算剩下8个分数的平均值,即将总和除以8。
下面是示例代码:
import random
# 生成10个100以内的随机整数,表示10个评委的评分
scores = [random.randint(, 100) for _ in range(10)]
# 找到最高分和最低分,并将它们从列表中删除
max_score = max(scores)
min_score = min(scores)
scores.remove(max_score)
scores.remove(min_score)
# 计算剩下8个分数的总和和平均值
total_score = sum(scores)
avg_score = total_score / 8
print("剩下8个分数的平均值为:", avg_score)
### 回答2:
该题需要分步骤进行解决,首先需要将系统随机生成的10个100以内的整数存入列表中,我们可以使用Python自带的random库来生成随机数并使用列表来存储这些数。
生成随机数的代码如下:
``` python
import random # 导入random库
scores = [] # 定义一个空的列表来存放10个评委的评分
for i in range(10): # 循环10次,生成10个评委的评分
score = random.randint(0, 100) # 随机生成0到100的整数评分
scores.append(score) # 将评分添加到scores列表中
```
接下来需要去掉列表中的一个最高分和一个最低分,可以使用sort函数来对列表进行排序,然后去掉最高分和最低分。
去掉最高分和最低分的代码如下:
``` python
scores.sort() # 对scores列表进行排序
scores.pop(0) # 去掉最低分,即第一个分数
scores.pop(-1) # 去掉最高分,即最后一个分数
```
最后需要求剩下8个分数的平均值,可以使用sum函数来计算scores列表中所有分数的总和,然后除以8即可。
求剩下8个分数的平均值的代码如下:
``` python
avg_score = sum(scores) / 8 # 计算scores列表中剩下8个分数的平均值
print("剩下8个分数的平均值为:{}".format(avg_score)) # 输出结果
```
完整代码如下:
``` python
import random # 导入random库
scores = [] # 定义一个空的列表来存放10个评委的评分
for i in range(10): # 循环10次,生成10个评委的评分
score = random.randint(0, 100) # 随机生成0到100的整数评分
scores.append(score) # 将评分添加到scores列表中
scores.sort() # 对scores列表进行排序
scores.pop(0) # 去掉最低分,即第一个分数
scores.pop(-1) # 去掉最高分,即最后一个分数
avg_score = sum(scores) / 8 # 计算scores列表中剩下8个分数的平均值
print("剩下8个分数的平均值为:{}".format(avg_score)) # 输出结果
```
运行结果可能会不一样,因为评分是随机生成的。
### 回答3:
首先需要明确题目所需要实现的功能:去掉最高分和最低分,并计算剩下分数的平均值。因此,可以分为以下几个步骤:
1. 生成随机数,表示10个评委的评分
可以使用Python的random模块中的randrange方法生成100以内的随机整数,循环生成10个评分。
import random
scores = []
for i in range(10):
score = random.randrange(0, 101)
scores.append(score)
print(scores)
输出结果为:[75, 6, 11, 5, 4, 71, 12, 67, 97, 100]
2. 去掉最高分和最低分
可以使用Python的max和min方法分别获取最高分和最低分的值,然后使用remove方法从分数列表中去掉它们。
max_score = max(scores)
min_score = min(scores)
scores.remove(max_score)
scores.remove(min_score)
print(scores)
输出结果为:[75, 6, 11, 5, 4, 71, 12, 67]
3. 计算剩下分数的平均值
可以使用Python的sum方法求出剩下分数的总和,然后除以分数数量(即8)得到平均值。
avg = sum(scores) / len(scores)
print(avg)
输出结果为:31.375
最终的完整代码如下:
import random
scores = []
for i in range(10):
score = random.randrange(0, 101)
scores.append(score)
print(scores)
max_score = max(scores)
min_score = min(scores)
scores.remove(max_score)
scores.remove(min_score)
print(scores)
avg = sum(scores) / len(scores)
print(avg)
阅读全文