|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
def binary(dec):
if dec == 1:
return 1
else:
yushu = dec % 2
return binary(dec // 2),yushu
dec = int(input('输入需要转为二进制的十进制数'))
result = binary(dec)
print('0b',result)
声明dec = 4
结果:0b ((1, 0), 0),他这里虽然显示了正确的二进制数值,但是它是以一个元组的类型返回的,我不想这样,我想让他是一个字符串的或者int的类型返回
再问一个题外的,请问我这样写间接的修改元组吗
a = (1,2,3)
>>> b = list(a)
>>> b.append(4)
>>> a = tuple(b)
>>> a
(1, 2, 3, 4)
>>>
你的程序else中的return有很大的问题,每递归一次元组就套一层,当数比较大的时候,那返回值就会让人眼花缭乱了。
帮你改成返回字符串了
- def binary(dec):
- result=''
- if dec <= 1:
- return str(dec)
- else:
- yushu = dec % 2
- return binary(dec // 2)+str(yushu)
- dec = int(input('输入需要转为二进制的十进制数'))
- result = binary(dec)
- print('0b'+result)
复制代码
是的
|
|