首页 > 解决方案 > SyntaxError:在 python2 中使用 lambda 时语法无效

问题描述

我想打印斐波那契数列中数字的立方体,我正在使用下面的代码:

def fib_series():
   o = int(raw_input ("enter the number for the Fibonacci series to print : ")) 
   
   
   if o == 1 : return [1]
   if o==0: return []
   lst = [0,1]
      
   for i in range(2,o):
       lst.append(lst[i-1] + lst[i-2])
      return lst  

fib_series()
cube = lambda x : x:x:x 
print (list((map(cube,fib_series))))

标签: python-2.x

解决方案


尝试这个:

def fib_series():
  o = int(raw_input ("enter the number for the Fibonacci series to print : ")) 
  
  
  if o == 1 : return [1]
  if o==0: return []
  lst = [0,1]
    
  for i in range(2,o):
    lst.append(lst[i-1] + lst[i-2])
  return lst  

fib_series()
cube = lambda x : x*x*x # Changed this from x:x:x 
print (list((map(cube,fib_series))))

推荐阅读