我正在处理一个黑客银行的问题。在
目标是找到第一个n
Fibonacci数的立方。用户输入n
。例如,如果用户输入5,输出应该是[0,1,1,8,27],因为前五个斐波纳契数是[0,1,1,2,3]。在
我写了以下代码:
cube = lambda x: x**3 # complete the lambda function
def fibonacci(n):
# return a list of fibonacci numbers
initiallist = []
for i in range(n):
if i < 2:
initiallist += [i]
else:
initiallist += [initiallist[-1] + initiallist[-2]]
return initiallist
我得到了以下代码(我无法编辑):
^{pr2}$问题是我的代码没有通过测试用例,因为它返回的是一个映射对象而不是一个列表。如何确保它返回一个列表?在
你可以把列表(…)放在它周围,所以
(我还没有测试你的其余代码)
编辑:如果不想更改main函数,则必须更改print或map函数或使用python2。在
如果无法编辑main函数,则使用Python2.X而不是Python3.X。在Python3.X中,map()函数返回迭代器。在
这是[链接]https://docs.python.org/3/library/functions.html#map
只需添加
list()
我撤销了我的评论,因为这是映射对象的is解决方案,我不认为你可以在实际调用之前修改它。正如埃伍德所说,
map
功能在Python3和Python2中的作用不同。在相关问题 更多 >
编程相关推荐