|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 wjhzj 于 2022-10-31 16:23 编辑
这是一个把利用递归把十进制转换成二进制的代码,请问标黄的那句为什么改成while(n > 0),结果就不对了呀?
lst = []
def shitoer(n):
if (n > 0):
m = n % 2
lst.append(m)
n = n //2
shitoer(n)
return lst
num = int(input('请输入一个十进制正整数:'))
result = shitoer(num)
result.reverse()
string = ''
l = len(result)
for i in range(l):
string = string + str(result[i])
print('转换为二进制的结果是:'+ '0b' + string)
用if语句的结果:
请输入一个十进制正整数:8
转换为二进制的结果是:0b1000
用while语句的结果:
请输入一个十进制正整数:8
转换为二进制的结果是:0b110110011011000
|
|