如何解决python的print函数中同时打印不同类型的数据

先看一段代码:

# 斐波那契数列 1, 1, 2, 3, 5, 8, 13, ...
#输入一个序号数字,打印出对应的数列值。比如输入3,打印出结果2

temp = int(input('输入一个正整数: '))

def arr(n):
    if n == 1 or n == 2:
        return 1
    else:
        return arr(n-1) + arr(n-2)

print('序号'+ temp + '对应的数列值是: ' + arr(temp))

这段代码本来想输出的是 需要xx对应的数列值是: xxx
但是 在运行的时候直接报错了:+ 加号不能连接两个不同的数据类型。
要怎么解决呢?
看如下代码:

# 斐波那契数列 1, 1, 2, 3, 5, 8, 13, ...
#输入一个序号数字,打印出对应的数列值。比如输入3,打印出结果2

temp = int(input('输入一个正整数: '))

def arr(n):
    if n == 1 or n == 2:
        return 1
    else:
        return arr(n-1) + arr(n-2)

print('序号'+ str(temp) + '对应的数列值是: ' + str(arr(temp)))

这里把print函数中的数字用str转化成了字符串类型。运行就正常了。
但是要注意,这里的'序号'是不能写成str(序号)的,因为序号是未定义的,是一个未知量,不能进行转换。

又发现一种方法(2020-7-4):

print('你要输出的数字是: ', n, '还有什么要输出的吗?')

刚才验证了一下,这样也是行得通的。

猜你喜欢

转载自blog.csdn.net/tuzi007a/article/details/107118779
今日推荐