진수변환과 문자열을 10진수로 바꾸기 등 값변환과 출력변환에 대해서 알아보자~
6025번
본 문제는 python 의 빠른 기초 학습을 위해 설계된 문제로서 python 코드 제출을 기준으로 설명되어 있습니다.
------
정수 2개를 입력받아
합을 출력하는 프로그램을 작성해보자.
예시
a, b = input().split()
c = int(a) + int(b)
print(c)
참고
입력되는 값은 기본적으로 문자열로 인식된다.
문자열 + 문자열은 두 문자열을 합친 문자열을 만든다.
숫자로 구성된 문자열이나 실수를 정수(integer) 값으로 바꾸기 위해서는 int( ) 를 사용할 수 있다.
수 + 수의 결과는 합(addition)이 계산된다.
입력
2개의 정수가 공백으로 구분되어 입력된다.
출력
두 정수의 합을 출력한다.
입력 예시 예시 복사
123 -123
출력 예시
0
a,b = input().split()
c = int(a) + int(b)
print(c)
6026번
본 문제는 python 의 빠른 기초 학습을 위해 설계된 문제로서 python 코드 제출을 기준으로 설명되어 있습니다.
------
실수 2개를 입력받아
합을 출력하는 프로그램을 작성해보자.
참고
입력되는 값은 기본적으로 문자열로 인식된다.
숫자로 구성된 문자열이나 정수를 실수(real number) 값으로 바꾸기 위해서는 float( ) 를 사용할 수 있다.
소숫점(.)은 그 위치가 정해져있지 않고 이리저리 둥둥 떠다니므로, floating point라고 부른다.
입력
2개의 실수가 줄을 바꿔 입력된다.
출력
두 실수의 합을 출력한다.
입력 예시 예시 복사
0.1 0.9
출력 예시
1.0
a = input()
b = input()
a = float(a)
b = float(b)
c = a+b
print(c)
6027번(출력변환)
본 문제는 python 의 빠른 기초 학습을 위해 설계된 문제로서 python 코드 제출을 기준으로 설명되어 있습니다.
------
10진수를 입력받아 16진수(hexadecimal)로 출력해보자.
예시
a = input()
n = int(a) #입력된 a를 10진수 값으로 변환해 변수 n에 저장
print('%x'% n) #n에 저장되어있는 값을 16진수(hexadecimal) 소문자 형태 문자열로 출력
참고
10진수 형태로 입력받고
%x로 출력하면 16진수(hexadecimal) 소문자로 출력된다.
(%o로 출력하면 8진수(octal) 문자열로 출력된다.)
10진법은 한 자리에 10개(0 1 2 3 4 5 6 7 8 9)의 문자를 사용하고,
16진법은 영문 소문자를 사용하는 경우에 한 자리에 16개(0 1 2 3 4 5 6 7 8 9 a b c d e f)의 문자를 사용한다.
16진수 a는 10진수의 10, b는 11, c는 12 ... 와 같다.
입력
10진수 1개가 입력된다.
출력
16진수(소문자) 형태로 출력한다.
입력 예시 예시 복사
255
출력 예시
ff
a = input()
a = int(a) #아무래도 풀이에서는 n 이라는 변수에 10진수를 담는 게 구분을 하기 위함인듯.
print('%x' % a)
6028번(출력변환)
본 문제는 python 의 빠른 기초 학습을 위해 설계된 문제로서 python 코드 제출을 기준으로 설명되어 있습니다.
------
10진수를 입력받아 16진수(hexadecimal)로 출력해보자.
예시
print('%X' % n) #n에 저장되어있는 값을 16진수 대문자 형태 문자열로 출력
참고
10진수 형태로 입력받고
%X로 출력하면 16진수(hexadecimal)대문자로 출력된다.
16진법은 영문 소문자를 사용하는 경우에 한 자리에 16개(0 1 2 3 4 5 6 7 8 9 A B C D E F)의 문자를 사용한다.
16진수 A는 10진수의 10, B는 11, C는 12 ... 와 같다.
입력
10진수 1개가 입력된다.
출력
16진수(대문자) 형태로 출력한다.
입력 예시 예시 복사
255
출력 예시
FF
a = input()
a = int(a) #아무래도 풀이에서는 n 이라는 변수에 10진수를 담는 게 구분을 하기 위함인듯.
print('%X' % a)
6029번
본 문제는 python 의 빠른 기초 학습을 위해 설계된 문제로서 python 코드 제출을 기준으로 설명되어 있습니다.
------
16진수를 입력받아 8진수(octal)로 출력해보자.
예시
a = input()
n = int(a, 16) #입력된 a를 16진수로 인식해 변수 n에 저장
print('%o' % n) #n에 저장되어있는 값을 8진수(octal) 형태 문자열로 출력
참고
8진법은 한 자리에 8개(0 1 2 3 4 5 6 7)의 문자를 사용한다.
8진수 10은 10진수의 8, 11은 9, 12는 10 ... 와 같다.
입력
16진 정수 1개가 입력된다.
출력
8진수 형태로 출력한다.
입력 예시 예시 복사
f
출력 예시
17
a = input()
a = int(a, 16) #16진수라고 인식하여 변수에 저장
print('%o' %a)
6030번
본 문제는 python 의 빠른 기초 학습을 위해 설계된 문제로서 python 코드 제출을 기준으로 설명되어 있습니다.
------
영문자 1개를 입력받아 10진수 유니코드(Unicode) 값으로 출력해보자.
예시
n = ord(input())
print(n)
참고
n = ord(input()) #입력받은 문자를 10진수 유니코드 값으로 변환한 후, n에 저장한다.
ord( ) 는 어떤 문자의 순서 위치(ordinal position) 값을 의미한다.
실제로 각각의 문자들에는 연속된 정수 값이 순서에 따라 부여 되어 있다. A:65, B:66, C:67 ....
ord(c) : 문자 c 를 10진수로 변환한 값
※ 즉 문자를 10진수로 변환시켜주는 함수
컴퓨터로 저장되고 처리되는 모든 데이터들은 2진수 형태로 정수화 되어야 하는데,
컴퓨터에 문자를 저장하는 방법으로 아스키코드(ASCII Code)나 유니코드(Unicode)가 자주 사용된다.
예를 들어, 영문 대문자 'A'는 10진수 값 65 로 표현하고,
2진수(binary digit) 값 1000001 로 바꾸어 컴퓨터 내부에 저장한다.
유니코드(unicode)는 세계 여러 나라의 문자를 공통된 코드 값으로 저장할 때 사용하는 표준 코드이다.
입력
유니코드 영문자 1개가 입력된다.
출력
유니코드 값을 10진수로 출력한다.
입력 예시 예시 복사
A
출력 예시
65
a = ord(input())
print(a)
6031번
본 문제는 python 의 빠른 기초 학습을 위해 설계된 문제로서 python 코드 제출을 기준으로 설명되어 있습니다.
------
10진 정수 1개를 입력받아
유니코드 문자로 출력해보자.
예시
c = int(input())
print(chr(c)) #c에 저장되어 있는 정수 값을 유니코드 문자(chracter)로 바꿔 출력한다.
참고
입력은 기본적으로 모두 문자열로 입력되는 것이라고 할 수 있다.
따라서, 입력 값이 문자/문자열/정수/실수인지에 따라서 먼저 정확하게 변환시킨 다음에 사용하거나 계산하는 것이 좋다.
예를 들어 123 이 입력 되었다고 한다면, 이건 정수일까? 문자열일까?
조금 생각해보면, 입력된 것만 보고는 그 값이 어떤 데이터인지 알 수 없다는 것을 쉽게 이해할 수 있다.
따라서, 그 입력 값을 어떻게 해석하고 변환할 지에 대해서 명확하게 작성해 주어야 하는 것이다.
chr( )는 정수값->문자, ord( )는 문자->정수값 형태로 바꿔주는 서로 반대 방향으로 바꾸어 주는 기능을 한다.
입력
10진 정수 1개(32 ~ 126 범위)가 입력된다.
출력
유니코드 문자로 출력한다.
입력 예시 예시 복사
65
출력 예시
A
a = int(input())
print(chr(a))
6042번(값변환)
본 문제는 python 의 빠른 기초 학습을 위해 설계된 문제로서 python 코드 제출을 기준으로 설명되어 있습니다.
------
실수 1개를 입력받아
소숫점 이하 두 번째 자리까지의 정확도로 반올림한 값을 출력해보자.
예시
a=float(input())
print( format(a, ".2f") )
참고
format(수, ".2f") 를 사용하면 원하는 자리까지의 정확도로 반올림 된 실수 값을 만들어 준다.
여기서 만들어진 값은 소수점 아래 3번째 자리에서 반올림한 값이다.
컴퓨터 프로그래밍에서 실수 변환이나 실수를 사용하는 계산은
정확하게 변환되거나 계산되는 것이 아니라, 거의 모두 근사값으로 계산되는 것이라고 할 수 있다.
실수가 컴퓨터로 저장되기 위해서는 디지털방식으로 2진 정수화되어 저장되어야 하는데,
그 과정에서 아주 작은 부분이 저장되지 않고 사라지는 잘림(truncation) 오차가 자주 발생하기 때문이다.
입력
실수 1개가 입력된다.
출력
소숫점 이하 두 번째 자리까지의 정확도로 반올림한 값을 출력한다.
입력 예시 예시 복사
3.141592
출력 예시
3.14
a = float(input())
print(format(a, ".2f"))
값변환과 출력변환을 알아 보았다.
값변환은 변수에 담겨 있는 값자체의 변환을 주어서 출력하는 반변
출력변환은 출력할 때 여러 함수를 써서 출력문에서 변화시켜준다.
'문제풀이 > CODE UP' 카테고리의 다른 글
코드업 파이썬 6065번 ~ 6070번 문제와 해답 (부제: 조건문과 선택실행을 알아보자) (0) | 2021.05.09 |
---|---|
코드업 파이썬 6046번 ~ 6064번 문제와 해답 (부제: 연산에 대해서 알아보자) (0) | 2021.05.06 |
코드업 파이썬 6032~6045번 문제와 해답(부제: 파이썬을 통해서 산술연산에 대해 알아보자) (0) | 2021.05.04 |
코드업 파이썬 6009~6024번 문제와 해답 (부제: 입출력에 대해서 알아보자) (0) | 2021.04.30 |
코드업 파이썬 6001~6008번 문제와 해답(부제: 파이썬의 출력하기를 알아보자) (0) | 2021.04.29 |