为什么我的 if 语句在 for 循环中不起作用?

问题描述 投票:0回答:1

我正在尝试编写一个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
语句之外解决了问题,但我很好奇为什么原始配置不起作用。

python for-loop if-statement nested-if
1个回答
0
投票
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) 
© www.soinside.com 2019 - 2024. All rights reserved.