【发布时间】:2020-06-10 05:32:08
【问题描述】:
如果我的列表“x”包含负值,我想计算调和平均值并引发异常。 但是代码不起作用。如何调整我的 for + if 语句t 来解决问题? 谢谢。
x=[1,2,3.0,-3,,-2,1]
def hmean(x):
sum= 0.0
for i in x:
if i < 0:
raise Exception("list contains negative values")
else:
sum = 0.0
for i in x:
sum+= 1.0 / i
return print(float(len(x) / sum))
【问题讨论】:
-
取消缩进
return,它应该具有与for语句相同的缩进级别。你也不应该像这样组合return和print,在这种情况下坚持return -
sum是一个python函数,你不能用它作为变量名。 -
你的输出是什么?
-
@CC7052:您可以将其用作变量名,但不会调用您使用内置函数@987654328 @ 之后如果你这样做。
-
hblanc28:我建议您先让代码处理没有负值的列表,然后再添加检查。
标签: python list for-loop if-statement negative-number