【发布时间】:2019-02-23 12:38:06
【问题描述】:
我已经做了一个函数,它接受一个列表作为输入并返回一个列表。
例如输入是[4,6,8,10,12]
并且输出应该是[0,0,1,0,0]
因为8属于斐波那契数列
我的代码是
for i in input1:
phi=0.5+0.5*math.sqrt(5.0)
a=phi*i
out =[ i == 0 or abs(round(a) - a) < 1.0 / i];
return out;
【问题讨论】:
-
您到底面临什么问题?
-
行尾不需要分号。
-
我有一个函数,它将输入作为数字列表并且应该返回输出也是列表,input1=[4,6,8,10,12] 它应该返回 [0,0 ,1,0,0] 因为 8 属于 fib 系列,其余不属于
-
这里是你的代码的一个工作更短的版本:
phi=0.5+0.5*math.sqrt(5.0)然后out = [1 if abs(round(phi*i) - phi*i) < (1/i) else 0 for i in input1]使用列表理解。我将a替换为phi*i。如果有不清楚的地方,请随时询问 -
只返回 0 0 0 0 0
标签: python list function fibonacci