将整数更改为字符串"隐含地" ??蟒

时间:2016-02-20 14:26:05

标签: python string

我想知道是否有人可以帮助我。我真的很陌生,我需要将输入转换为字符串吗?

# 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) + ".")

5 个答案:

答案 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语句中尝试“添加”intprint。使用str(fibR(num))的返回值将数字显式转换为字符串,或者更好的是查看string's format() method。这里的其他答案已经提供了一些关于如何使用它的例子。

答案 4 :(得分:0)

只需使用str()方法:

print("The Fibonacci number you have requested is" + str(fibR(num)) + ".")