猿问

python3.x :对序列中的序列没有任何输出

这是我试图解决的问题,


2,3,10,15,26,35,50之后接下来会发生什么?


实际上,顺序是这样的:


1*1+1=2

2*2-1=3

3*3+1=10

4*4-1=15

5*5+1=26

6*6-1=35

7*7+1=50

So next sequence will be-

8*8-1=63

我试图以pythonic的方式解决这个问题,但我没有得到任何预期的输出:


n = int(input("enter a number: "))


def solve_problem(n):

    for x in range(n):

        if x % 2 == 0:

            return (lambda x: x**2-1)

        else:

            return (lambda x: x**2+1)


solve_problem(n)

如果有人能弄清楚我做错了什么,那就太好了。提前感谢您!


富国沪深
浏览 114回答 1
1回答

慕森卡

首先,您的代码中没有 print() ...你可以从这个开始:n = int(input("enter a number: "))def solve_problem(n):    for x in range(1,n+1):        if x % 2 == 0:            print( x**2-1)        else:            print(x**2+1)solve_problem(n)正如另一位贡献者所问的,这里可能不需要lambda。
随时随地看视频慕课网APP

相关分类

Python
我要回答