所以我尝试使用input
数字打印Fibonacci序列。我不确定如何在我的代码中输入数字。
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'
答案 0 :(得分:4)
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)
答案 1 :(得分:1)
在这一行中,python解释器认为您正在尝试为fibonacci
指定一个参数。
fibonacci(fibo_entry=input("enter number"))
最简单的解决方法是将其分开。您还必须强制转换为int
,因为输入返回一个字符串:
fibo_entry=int(input("enter number"))
fibonacci(fibo_entry)
答案 2 :(得分:0)
你需要为你的'输入'功能使用类型转换, 这样做:
num=int(input("enter number: "))
fibonacci(num)
或者这样做:
fibonacci(int(input("enter number: ")))