[英]str() not returning string in my function
因此,我定义了一个递归函数numToBaseB,该函数将以10为底的给定数字转换为2到10之间的其他任何底数。所需的输出是字符串,但是由于某种原因,我一直在获取int值。
def numToBaseB(num, b):
if num == 0:
return ''
elif b > 10 or b < 2:
return "The base has to be between 2 and 10"
else:
return numToBaseB(num // b, b ) + str(num % b)
所以对我来说: numToBaseB(4, 2)
将返回
100
而不是所需的输出:
'100'
您的程序按设计工作:
>>> numToBaseB(1024,2)
'10000000000'
>>> numToBaseB(4,2)
'100'
当然,如果您执行print(numToBaseB(4,2))
,则不会显示引号。
但是,如果您想要引号,则可以始终这样做:
print (" ' "+numToBase(4,2)+" ' ")
但是在程序中,如果仍然使用str(),它将被视为课程字符串。
:)
编辑:在电话上键入,为此感到疯狂:(
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.