【问题标题】:Can you please help me with this series in Python?你能帮我用 Python 做这个系列吗?
【发布时间】:2021-08-26 05:57:37
【问题描述】:

我需要打印这个系列的结果:2、4、7、28、33、198...

当 x 为 1 时,结果应为 2

当 x 为 2 时,结果应为 4

当 x 为 3 时,结果应为 7

等等

我有这个,但它不工作:

    n = int(input( "Enter value N: "))
    r = 0
    for i in range(1,n+1):
      if(n%2==0):
        r=r*i
      else:
        r=r+i
    print(r)

【问题讨论】:

  • 你希望你的print(r) 语句循环中。因此它应该缩进,以便它与for i 循环内的ifelse 对齐。

标签: python-3.x math numbers series successor-arithmetics


【解决方案1】:

当 n=6 时,打印以下代码:2、4、7、28、33 和 198。

n = int(input("Enter value N: "))
r = 1
for i in range(1, n+1):
    if i%2==0:
        r*=i
    else:
        r+=i
    print(r)

【讨论】:

    【解决方案2】:

    试试这个:

    n = int(input("enter num: "))
    r, out = 1, []
    for i in range(1, n+1):
        r = (r*i) if i%2==0 else (r+i)
        out.append(r)
    out
    

    输出:

    enter num: 10
    [2, 4, 7, 28, 33, 198, 205, 1640, 1649, 16490]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-09
      • 2021-01-28
      • 2011-12-08
      • 2017-12-23
      • 1970-01-01
      • 2021-08-29
      相关资源
      最近更新 更多