先看一段代码:
# 斐波那契数列 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 版权协议,转载请附上原文出处链接和本声明。