#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 进制转换
# @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判断一下就行了

京公网安备 11010502036488号