首页 > 解决方案 > 做了一个函数,但它忽略了我可选的 True/False 语句

问题描述

所以,我只是制作了一个斐波那契函数来返回序列和变体的打印版本,但它似乎忽略了“if”语句并跳转到“else”。不知道这里会发生什么...

def fibonacci(r, var=False):
if var is True:
    n1 = 0
    n2 = 1
    for c in range(0, r):
        n3 = n1 + n2
        v = n3 / n2
        n1 = n2
        n2 = n3
        print(f'{v}', end=' ')
else:
    n1 = -1
    n2 = 1
    for c in range(0, r):
        n3 = n1 + n2
        n1 = n2
        n2 = n3
        print(f'{n3}', end=' ')


fibonacci((20, True))

标签: pythonfunctionif-statementbooleanfibonacci

解决方案


就这样称呼它:

fibonacci(20, True)

然后它将起作用。否则,您将给函数一个元组作为参数。


推荐阅读