程序设计:输入一个十进制正整数,编写程序,把它转换为二进制。注意:不能使用Python的转换函数,要用循环来写。

输入一个十进制正整数,编写程序,把它转换为二进制。注意:不能使用Python的转换函数,要用循环来写。
只能用while循环的话,请问各位这道题怎么写?



def dec2bin(string_num):
    num = int(string_num)
    mid = []
    while True:
        if num == 0:
            break
        num, rem = divmod(num, 2)
        mid.append(rem)
 
    return ''.join([str(x) for x in mid[::-1]])
 
 
if __name__ == '__main__':
    anum = input(u'请输入要转换的数字:')
    print (u'该数字转换为二进制后是:{}'.format(dec2bin(anum)))

img

使用的while 循环