码迷,mamicode.com
首页 > 其他好文 > 详细

十进制转换为其他进制(不使用format)

时间:2020-06-07 13:15:30      阅读:85      评论:0      收藏:0      [点我收藏+]

标签:while   用户输入   ase   inpu   ec2   数字   span   family   join   

base = [str(x) for x in range(10)] + [chr(x) for x in range(ord(A), ord(A) + 6)]
# [‘0‘, ‘1‘, ‘2‘, ‘3‘, ‘4‘, ‘5‘, ‘6‘, ‘7‘, ‘8‘, ‘9‘, ‘A‘, ‘B‘, ‘C‘, ‘D‘, ‘E‘, ‘F‘]

def dec2bin(string_num):
    ‘‘‘十进制转换为 二进制‘‘‘
    num = int(string_num)
    # 转换为 整数
    mid = []
    while True:
        if num == 0: break
        # 如果输入的十进制为 0 则退出
        num, rem = divmod(num, 2)
        # num 为 num / 2 的值
        # rem 为 余数
        mid.append(base[rem])
        # 将余数添加到 mid 中
    return ‘‘.join([str(x) for x in mid[::-1]])

def dec2oct(string_num):
    ‘‘‘转换为 八进制‘‘‘
    num = int(string_num)
    # 转换为 整数
    mid = []
    while True:
        if num == 0: break
        num, rem = divmod(num, 8)
        # num 为 num / 8 的值
        # rem 为 余数
        mid.append(base[rem])
        # 将余数添加到 mid 中
    return ‘‘.join([str(x) for x in mid[::-1]])


def dec2hex(string_num):
    ‘‘‘转换为 十六进制‘‘‘
    num = int(string_num)
    # 转换为 整数
    mid = []
    while True:
        if num == 0: break
        num, rem = divmod(num, 16)
        # num 为 num / 16 的值
        # rem 为 余数
        mid.append(base[rem])
        # 将余数添加到 mid 中
    return ‘‘.join([str(x) for x in mid[::-1]])



num = float(input())
# 让用户输入数字

print(dec2bin(num),dec2oct(num),dec2hex(num))
# 输出 十进制转为 2 ,8 ,16 进制之后的数

技术图片

 


2020-06-07

 

十进制转换为其他进制(不使用format)

标签:while   用户输入   ase   inpu   ec2   数字   span   family   join   

原文地址:https://www.cnblogs.com/hany-postq473111315/p/13059936.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!