每日一题:进制转换 python (19.9.21)

题目描述:十进制的数值转换成N进制的字符输出

代码:

def baseN(num, N):
    res = ''
    while (num != 0):
        res += num2str(num % N)
        num = num // N
    return res
def num2str(cr):
    if str(cr) in "0123456789":
        return str(cr)
    s ="ABCDEFGHIJKLMNOPQ"
    return s[cr-10]
while True:
    try:
        N = 27 #所求转化的进制数
        num = int(input())
        print(baseN(num,N))
    except:
        pass

但是会出现一个问题,如果进制转化的字符是'/'样式的,则会出现一个问题:字符表示问题:

s ="`!@#$%^&*(){}\\<>?"

这也是今天58算法的题目,不知道这样写对不对,有没有人帮忙解答一下

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章