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

  • Post author:
  • Post category:python


先看一段代码:

# 斐波那契数列 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, '还有什么要输出的吗?')

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



版权声明:本文为tuzi007a原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。