lists = [[100.0,90.0],[52.0,75.0,45.0,20.0],[12.0,43.0,55.0]]
def printAverages(lists):
for values in lists:
print(values)
row(values)
def row(values):
num = 0
for numbers in values:
if numbers == min(values):
values.remove(numbers)
else:
num += numbers
print(num)
它出现以下内容,
[100.0, 90.0]
100.0
[52.0, 75.0, 45.0, 20.0]
172.0
[12.0, 43.0, 55.0]
55.0
我试图删除最小的值并将其余的值加在一起,但似乎我离开了。有人能指出我正确的方向吗?
答案 0 :(得分:0)
平均值=观察总和/观察总数。那是你错的地方。
此外,我删除了从代码中删除列表中最小数字的if部分。你为什么这样?在这种情况下不需要它。
编辑:我在您发布的图片中添加了一个示例,以验证此代码是否正确。
lists = [[100.0,90.0],[52.0,75.0,45.0,20.0],[12.0,43.0,55.0],[80.0, 75.0, 70.0, 65.0, 5.0]]
def printAverages(lists):
for values in lists:
print(values)
row(values)
def row(values):
num = 0
observations = 0
for number in values:
if number != min(values):
num += number
observations += 1
print(num / observations)
printAverages(lists)
上一个列表[80.0, 75.0, 70.0, 65.0, 5.0]
的结果(从您提供的图片中复制而来)是72.5
- 与图片一样。
如果你想从列表中删除最小的值,然后打印没有那个最小值的列表,那么你必须将print
命令从函数printAverages(lists)
移动到函数{{1 }}
代码将是这样的:
row(values)