# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # 进制转换 # @param M int整型 给定整数 # @param N int整型 转换到的进制 # @return string字符串 # class Solution: def solve(self , M: int, N: int) -> str: # write code here st = '' flag = False dic = {10:'A', 11:'B', 12:'C', 13:'D', 14:'E', 15:'F'} if M < 0: M = -M flag = True while M > 0: res = M % N if res in dic: st += dic[res] else: st += str(res) M //= N if flag: st += '-' return st[::-1] return st[::-1]
思考:
- 参考二进制的转换规则,对于十六进制可以考虑使用Python中的字典
- while M > 0,没有 = ,后面单步调试的时候才发现了这个问题
- 负数转进制其实也不复杂,加个flag判断一下就行了