16진수로 입력된 정수 1개를 8진수로 바꾸어 출력해보자. Tip:: 16진수 >> 10진수 >> 8진수 순서대로 변환 x = '0x' + input() integer = int(x, 16) octal = oct(integer) print(octal[2:]) x에 16진수를 저장하고 10진수로 변환한 뒤 8진수로 다시 변환한다. x는 문자열이지만 int 함수에 16진수라고 적어주었으므로 진수를 인식하여 변환한다. 8진수 앞 두자리는 빼고 출력하므로 범위를 적어준다. hexadecimal = '0x' + input() integer = int(hexadecimal, 16) print( oct(integer)[2:] )
8진수로 입력된 정수 1개를 10진수로 바꾸어 출력해보자. Tip:: 10진수로 변환하고자 할 때는 int()를 이용하면 된다. 첫번째 파라미터로는 변환하고자하는 숫자의 문자열('0o12')을, 두번째 파라미터로는 첫번째 값이 몇 진수인지를 정수로 입력하면 된다. n = oct(input()) print(int(n)) 8진수로 입력받는 식을 작성하지 못했다. 10진수로 변환하는 법을 몰랐다. octal = '0o' + input() print( int(octal, 8) ) octal 변수에는 문자열이 들어가지만, int 함수를 쓸 때 몇 진수인지 적으면 어떤 진수인지 인식하므로 10진수로 반환해준다.
10진수를 입력받아 16진수(hexadecimal)로 출력해보자. 16진수(대문자)로 출력한다. Tip:: 소문자를 대문자로 변환하려면 문자열의 메소드(함수)인 upper()를 이용하면 된다. n = int(input()) print((hex(n).upper())[2:]) 32번 문제와 같고, 16진수를 대문자로 바꿔주는 upper 함수를 사용한다. hexadecimal = int(input()) hexConv = hex(hexadecimal)[2:] print( hexConv.upper() ) 풀이에서 출력에 한꺼번에 썼는데 알아보기 편하게 나누었다. upper 함수 string.upper() 바꾸고자 하는 문자열을 대문자로 바꿔주는 함수
10진수를 입력받아 16진수(hexadecimal)로 출력해보자. Tip:: 16진수는 '0xa'처럼 숫자 앞에 '0x'를 붙여준다. 이것으로 'a'가 16진수의 'a'임을 인지한다. 10진수를 16진수로 변환하는 함수는 hex()이며, '0xa'와 같이 출력되므로 앞 두자리를 생략하고 출력하면된다. 따라서 '0xa'[2:]를 해주면 되는 것. n = int(input()) print(hex(n)[2:]) 입력받을 때는 정수형까지 쓰고, 출력할 때 hex 함수를 이용해 16진수로 변환한다. 8진수와 마찬가지로 앞에 0x가 붙으므로 출력할 땐 범위를 지정하여 출력한다. hexadecimal = int(input()) print( hex(hexadecimal)[2:] )
10진수를 입력받아 8진수(octal)로 출력해보자. Tip:: 8진수는 '0o12'처럼 숫자 앞에 '0o'를 붙여준다. 이것으로 '12'가 8진수의 '12'임을 인지한다. 10진수를 8진수로 변환하는 함수는 oct()이며, '0o12'와 같이 출력되므로 앞 두 자리를 생략하고 출력하면 된다. 따라서 '0o12'[2:]를 해주면 되는 것. n = oct(int(input())) print(n[2:]) int로 10진수를 먼저 입력받은 후 oct 함수를 사용해 8진수로 변환한다. n은 0o12가 저장되어있으므로 2번지부터 출력하도록 범위를 정해준다. octal = int(input()) print( oct(octal)[2:] ) 입력받을 땐 정수형까지만 쓰고, 출력할 때 8진수로 변환한다.
정수 1개를 입력받아 그대로 출력해보자. 파이썬에서의 int() 데이터형의 크기는 4바이트(32비트)로 지정되어있다. 이보다 큰 범위를 지정하고자 할 때는 long 데이터 형을 이용하면 된다. 파이썬에서는 4가지의 데이터형을 제공한다. 파이썬에서 제공하는 데이터형 int (plain integers) : 정수 long (long integers) : int 보다 범위가 큰 정수(메모리 한계까지 저장 가능, 사실상 무제한) float (floating point numbers) : 실수 complex (complex numbers) : 복소수 i = int(input()) print(i) 입력값은 문자열로 정의되므로 정수형으로 변환해서 저장한다. integer = int(input()) print(inte..
년월일(yyyy.mm.dd)를 입력받아, 일월년(dd-mm-yyyy)로 출력해보자. (단, 한 자리 일/월은 0을 붙여 두자리로 출력한다.) Tip:: 조건문 if-else문을 파이썬의 3항 연산자(Chapter 10 참고) 기능을 이용하면 더 간단하게 작성할 수 있다. 이렇게 작성하는 것이 메모리 효율성면에서도 효과적이다. (18번 참고) y, m, d = input().split('.') t = '{}-{}-{}'.format(y, m, d) if len(m) == 1 and len(d) == 1: m = '0'+ m d = '0'+ d elif len(m) == 1: m = '0'+ m elif len(d) == 1: d = '0'+ d print(t) 입력값을 닷으로 구분하여 년, 월, 일의 변수..