【发布时间】:2018-08-08 23:28:12
【问题描述】:
我正在编写一个接受 3 个输入的函数,如果所有 3 个输入都是浮点数和/或整数,则返回 3 个的平均值,否则将它们作为列表返回。
这就是我所拥有的:
def list3(a,b,c):
"""if all inputs are int/float return average"""
l = [a, b, c]
for t in l:
if t is int or t is float:
s = sum(l)
y = len(l)
x = float(s/y)
return x
else:
return(l)
当我输入 3 个整数时,它返回列表,我怎样才能让它将输入识别为整数?谢谢
【问题讨论】:
-
如果你使用Python 3,那么
float(s/y)是不必要的,因为除法的结果已经是一个浮点数。如果你使用 Python 2,那么float(s/y)必须是float(s)/y,因为s/y是一个不正确的整数。 -
“当我输入 4 个整数时”是什么意思?你传递四个参数吗? Python 不允许你这样做。