[230228] n진법

  • 디브모드(a,b)
    • 튜플 형식으로 반환
    • a를 b로 나눈 몫/나머지
      • (따옴표, 나머지)
  • 밑수 n 찾기(2 <= n <= 16)
# i를 n진법으로 변환하기
def change(n,i):
	# 효율성을 위해 
    box = {2:'b',8:'o',16:'x'}
    if n in box:
        return format(i,box(n)).upper()
    
    if i == 0:
        return '0'
    
    result=""
    nn = '0123456789ABCDEF'
    while i > 0:
        # i를 n으로 나눈 몫 : a
        # i를 n으로 나눈 나머지 : b
        a,b = divmod(i,n)
        i = a
        result += nn(b)
    return result(::-1)