【发布时间】:2018-10-28 13:46:15
【问题描述】:
所有,我有这段代码,在我的一生中,我无法弄清楚如何解决这个 TypeError。
def dtobr(n):
if n == 0:
return 0
else:
return (n % 2) + 10 * dtobr(int(n / 2))
我需要它作为字符串返回(类的项目要求)。数学是正确的,但是当我将最后一行更改为
return str((n % 2) + 10 * dtobr(int(n / 2)))
我明白了
“TypeError:+ 的不支持的操作数类型:'int' 和 'str'”。
我尝试将"return (n % 2) + 10 * dtobr(int(n / 2))" 设置为x,将y 设置为int(x) 并返回y,但我不知道(而且Google 没有提供任何我可以尝试的解决方案适用于我的问题)我还能做什么。任何想法都会有所帮助!
【问题讨论】:
-
“我需要它作为字符串返回”为什么?
-
类型错误是因为你在
dtobr的结果上调用dtobr,它乘以一个int。