[英]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
循环中添加a
和b
的方式是错误的。 如果您使用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=3
到a=13, b=8
。 所以有 2 * 5 个输出。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.