언어/python

10진수 8진수로 [파이썬]

파아랑새 2017. 10. 14. 13:51

8진수 낙서

음 ... 일단 8진수 구조는 {0,1,2,3, ..., 7}
그럼 입력 case는?
문자는 제외하자 -_-

그럼
case 1 : 0
case 2 : 1 ~ 7
case 3 : 8보다 크거나 같은 경우

case 3 이 가장 복잡할듯 하다
e.g ) 123
8 123
8  15 ...3
    1 ...7
음 그럼 몫이 8보다 작을 때까지 돌리면 되겠군 ...

파이썬에서는 안타깝게도 switch문 없다.

 

 

def main():
decimalNumber = int(input("정수 입력: "))
octString = "" # type of string
q = 0 #
r = 0 # 나머지
while True:
q = decimalNumber//8
r = decimalNumber %8

octString += str(r)
if q < 8:
octString += str(q)
break
else:
decimalNumber = q
print (octString[::-1])
if __name__ == "__main__":
main()