繁体   English   中英

从输入数字打印斐波那契

[英]printing fibonacci from input number

所以我尝试使用input数字打印斐波那契数列。 我不确定如何在代码中输入数字。

def fibonacci(n):
    a,b=0,1
    while(a<n):
        print(a,end=' ')
        a,b=b,a+b
    print()

fibonacci(fibo_entry=input("enter number"))

我收到此错误:

TypeError                                                           Traceback (most recent call last)
    <ipython-input-113-d552685b93df> in <module>()
       7         a,b=b,a+b
       8     print()
    ----> 9 fibonacci(fibo_entry=input("enter number"))

    TypeError: fibonacci() got an unexpected keyword argument 'fibo_entry'

TypeError是因为您的函数没有使用fibo_entry参数。 您可以这样称呼它:

fibonacci(input("enter number"))

但这会给您另一个错误,因为input总是在python3上返回一个字符串,因此您需要将其强制转换为数字:

import ast
fibonacci(ast.literal_eval(input("enter number")))

或明确地:

fibonacci(int(input("enter number")))

但是我建议将输入作为单独的变量捕获,然后将该变量传递给函数:

fibo_entry = int(input("enter number"))
fibonacci(fibo_entry)

在这一行中,python解释器认为您正在尝试为fibonacci指定一个参数。

fibonacci(fibo_entry=input("enter number"))

最简单的解决方法是将其分开。 您还必须强制转换为int ,因为input返回一个字符串:

fibo_entry=int(input("enter number"))
fibonacci(fibo_entry)

您需要对“输入”功能使用类型转换,如下所示:

num=int(input("enter number: "))
fibonacci(num)

或这样做:

fibonacci(int(input("enter number: ")))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM