繁体   English   中英

如何减少输出数量?

[英]How do i reduce the number of outputs?

假设我输入 n=5,我如何将前 5 个数字作为 output 而不是 10?

    #fibonacci sequence
n=int(input('Enter number of numbers: '))
a=1
b=0
for i in range(1,n+1):
    a=a+b
    b=a+b
    print(a)
    print(b)

for循环中添加ab的方式是错误的。 如果您使用print两次,它将在每个循环中打印两次。

n=int(input('Enter number of numbers: '))
a=1
b=0
for i in range(1,n+1):
    a, b = a + b, a
    print(a)

试试这个:

n = int(input('Enter number of numbers: '))
def fib(n):
    curr, next_ = 1, 1
    for _ in range(n):
        yield curr
        curr, next_ = next_, curr + next_
print(list(fib(n)))
n=int(input('Enter number of numbers: '))
a=1
b=0
for i in range(1,n+1):
    a, b = a + b, a
    print(a)

您的方法的问题是您 go 每次都执行第 2 步。 例如,在一次迭代中,您 go 从a=5, b=3a=13, b=8 所以有 2 * 5 个输出。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM