第23课:递归。简单 %d 也报错?
正常运行的程序:def function(x):
result = ''
if x:
result = function(x//2)
return result + str(x%2)
else:
return result
a = function(10)
print(a)
我加了 %d 后,报错了:
def function(x):
result = ''
if x:
result = function(x//2)
return result + str(x%2)
else:
return result
a = function(10)
print("10的二进制是:%d" % a)
为什么?
简单的 %d,我又被难倒了。。。请教各位。 本帖最后由 昨非 于 2021-1-13 16:54 编辑
a是字符串类型
怎么用%d呢,格式不对的
函数返回的结果是通过递归str拼接(+)出来的字符串
直接打印就好,不必转换为int
反正print打印出来的整型和字符串看起来是没有去别的
当然,你要是想用格式串的话,可以转换为
a = function(10)
print("10的二进制是:%s" % a)
或者:
a = function(10)
print("10的二进制是:%d" % int(a)) 昨非 发表于 2021-1-13 16:51
a是字符串类型
怎么用%d呢,格式不对的
函数返回的结果是通过递归str拼接(+)出来的字符串
棒!谢谢!学习了。
页:
[1]