题解 | #进制转换#
进制转换
https://www.nowcoder.com/practice/2cc32b88fff94d7e8fd458b8c7b25ec1?tpId=117&tqId=37836&rp=1&ru=/exam/oj&qru=/exam/oj&sourceUrl=%2Fexam%2Foj%3Fpage%3D1%26tab%3D%25E7%25AE%2597%25E6%25B3%2595%25E7%25AF%2587%26topicId%3D117&difficulty=undefined&judgeStatus=undefined&tags=&title=
from enum import Flag # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # 进制转换 # @param M int整型 给定整数 # @param N int整型 转换到的进制 # @return string字符串 # class Solution: def solve(self , M: int, N: int) -> str: # write code here dict={} #设置Falg标记正负,如果为负数,那么设置Flag为False,初始化的时候设置为True flag=True L1=[] for i in range(10,17): L1.append(i) L2=[] for i in range(ord("A"),ord("G")): L2.append(chr(i)) #建立一个10-16对应的A-F的字典 c=zip(L1,L2) for i in c: dict[i[0]]=i[1] tmps=[] res=M if res<0: res=int(str(res)[1:]) flag=False #循环取余数和模数,将模式加到结果列表 while res > N: tmp = res%N res = res//N if tmp>=10: tmp=dict[tmp] tmps.append(tmp) tmps.append(res) #判断是正数还是负数并拼接tmps tmps =list(map(str,tmps))[::-1] if not flag: tmp="-"+"".join(tmps) else: tmp="".join(tmps) return (tmp)