我正在尝试编写一个Python程序,询问用户要输出斐波那契序列中第一个成员中的多少个。这是代码:
start_seq = [1, 1]
how_many = int(input("how many numbers do you want from the sequence? "))
for i in range(2, how_many):
if how_many == 1 or how_many == 2:
print(start_seq[0])
else:
start_seq.append(start_seq[i-1] + start_seq[i-2])
print(start_seq)
当我运行代码并且用户选择
1
或 2
时,程序不会输出任何内容。我期望输出为 start_seq[0]
或 start_seq[1]
,无论哪种情况,结果都是 1。当变量 how_many > 2
时,一切正常。我设法通过将 if
语句放在 for
语句之外解决了问题,但我很好奇为什么原始配置不起作用。
start_seq = [1, 1]
how_many = int(input("how many numbers do you want from the sequence? "))
for i in range(2, how_many):
if how_many == 1 or how_many == 2:
print(start_seq[0])
else:
start_seq.append(start_seq[i-1] + start_seq[i-2])
print(start_seq)