我想知道是否有人可以帮助我。我真的很陌生,我需要将输入转换为字符串吗?
# Python program to calculate the Fibonacci numbers
def fibR(n):
if n == 1 or n == 2:
return 1
else:
return fibR(n - 1) + fibR(n - 2)
# Request input from the user
num = int(input("Please enter the number in the Fibonacci sequence you wish to calculate: "))
#
if num == 1:
print("The Fibonacci number you have requested is" + 1 + ".")
else :
print("The Fibonacci number you have requested is" + fibR(num) + ".")
答案 0 :(得分:3)
您已将input
正确转换为int
。但是,在print
声明中......
print("The Fibonacci number you have requested is" + fibR(num) + ".")
....函数fibR(num)
返回一个整数。当您尝试将返回的整数与字符串连接时,会导致错误。你需要做的是使用格式字符串:
print("The Fibonacci number you have requested is {}.".format(fibR(num)))
答案 1 :(得分:1)
执行str(number)
将数字转换为字符串。
答案 2 :(得分:1)
在else
语句中使用%
:
print("The Fibonacci number you have requested is %d." % fibR(num))
答案 3 :(得分:1)
如果你
import this
你会了解到Python的制造者认为
明确比隐含更好。
因此,在Python中,您可以在两个string
语句中尝试“添加”int
和print
。使用str(fibR(num))
的返回值将数字显式转换为字符串,或者更好的是查看string
's format()
method。这里的其他答案已经提供了一些关于如何使用它的例子。
答案 4 :(得分:0)
只需使用str()
方法:
print("The Fibonacci number you have requested is" + str(fibR(num)) + ".")