[英]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.