【发布时间】:2020-09-22 18:30:32
【问题描述】:
我对 Python 还是很陌生,我什至不知道从哪里开始。如果有人可以提供帮助,将不胜感激:)
【问题讨论】:
-
使用
numpy.cumsum(list(range(1,101))) -
StackOverflow 更像是一个询问有关现有代码的具体问题的网站。这个问题很可能会被关闭,因为它并不是网站上允许的格式。看看How to Ask 页面。
我对 Python 还是很陌生,我什至不知道从哪里开始。如果有人可以提供帮助,将不胜感激:)
【问题讨论】:
numpy.cumsum(list(range(1,101)))
好吧,我会很快告诉你答案。
# First two numbers of fibonacci sequence
fib = [0, 1]
# Generate the fibonacci sequence
for i in range(98):
# Sum the last two numbers and append it to fib
fib.append(fib[-1] + fib[-2])
# for i in (0, 2, 4, 6...)
for i in range(0, 100, 2):
print fib[i]
【讨论】:
最基本的方法(虽然不是最有效的)如下。首先定义一个函数,计算某个地方的斐波那契数。这种迭代和递归有两种方法。
递归(示例):
def fib(n):
if n < 0:
raise Exception("Invalid Fib Input")
elif n == 0:
return 0
elif n == 1:
return 1
return fib(n - 1) + fib(n - 2)
迭代(示例):
def fib(n):
x = 0
y = 1
z = 1
for i in range(0, n):
x = y;
y = z;
z = x + y;
return x;
斐波那契数列的两种实现都可以。现在,我们可以运行以下代码来打印每隔一个斐波那契数。
for i in range(1, 100, 2):
print(fib(i))
我们现在完成了。随时询问您是否需要更多说明。如果您想知道如何实现更高效的解决方案,请研究动态编程和存储中间值。
【讨论】: