6021번
알파벳과 숫자로 이루어진 단어 1개가 입력된다.
입력받은 단어의 각 문자를 한 줄에 한 문자씩 분리해 출력한다.
예시
s = input()
print(s[0])
print(s[1])
...
참고
s[0] 은 첫 번째 문자를 의미한다.
문자열을 변수 a에 input() 함수로 입력받고, 문자열 인덱싱을 사용.
문자열의 첫 번째 글자(인덱싱 넘버 0), 문자열의 두 번째 글자(인덱싱 넘버 2)는 a[1]와 같이 출력.
6022번
6자리의 연월일(YYMMDD)을 입력받아 나누어 출력해보자.
참고
s = input()
print(s[0:2])
를 실행하면 0번째 문자부터 1번째 문자까지 잘라 출력한다.
s[a:b] 라고 하면, s라는 단어에서 a번째 문자부터 b-1번째 문자까지 잘라낸 부분을 의미한다.
다른 자르기 방법도 있다.
주어진 입력값을 변수 a에 저장한 뒤, print() 함수로 문자열 인덱싱을 사용해 출력.
a[0:2]는 a[0]~a[1]까지, a[2:4]는 a[2]~a[3]까지, a[4:6]은 a[4]~a[5]를 의미.
6023번
시:분:초 형식으로 시간이 입력될 때 분만 출력해보자.
어떻게 분만 출력해야 할지 주의 깊게 생각해야한다.
split(':') 문을 통하여 시, 분, 초를 각각 a, b, c 변수에 저장합니다.
그 다음 분이 저장된 b를 출력해줍니다.
6024번
알파벳 문자와 숫자로 이루어진 단어 2개를 입력받아
순서대로 붙여 출력하는 프로그램을 작성해보자.
예시
w1, w2 = input().split()
s = w1 + w2
print(s)
참고
단어는 문자(character)들로 만든다.
문자들로 구성된 문장을 문자열(string)이라고 부른다.
문자열에는 공백문자(' ')가 포함될 수 있는데,
문자 1개는 길이가 1인 문자열이라고 할 수 있고, 공백문자(' ')가 없는 문자열은 단어(word)라고 할 수 있다.
일반적인 문장들은 공백으로 구분된 단어들로 만들어지기 때문에,
공백문자로 구분된 문장에서 단어를 잘라내기 위해서는 공백문자(' ')를 기준으로 자르면 된다.
키보드로 입력되는 것들은 기본적으로 문자열로 인식되고, 문자열끼리 더하기(+)를 실행하면,
두 문자열을 합쳐 연결한(concatenate) 결과를 만들어 낸다.
6025번
정수 2개를 입력받아
합을 출력하는 프로그램을 작성해보자.
예시
a, b = input().split()
c = int(a) + int(b)
print(c)
참고
입력되는 값은 기본적으로 문자열로 인식된다.
문자열 + 문자열은 두 문자열을 합친 문자열을 만든다.
숫자로 구성된 문자열이나 실수를 정수(integer) 값으로 바꾸기 위해서는 int( ) 를 사용할 수 있다.
수 + 수의 결과는 합(addition)이 계산된다.
6026번
실수 2개를 입력받아
합을 출력하는 프로그램을 작성해보자.
참고
입력되는 값은 기본적으로 문자열로 인식된다.
숫자로 구성된 문자열이나 정수를 실수(real number) 값으로 바꾸기 위해서는 float( ) 를 사용할 수 있다.
소숫점(.)은 그 위치가 정해져있지 않고 이리저리 둥둥 떠다니므로, floating point라고 부른다.
6027번
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 ... 와 같다.
입력값을 input() 함수로 받고 int() 함수로 묶어 정수값으로 변환시키고
정수값을 hex() 함수로 묶어 16진수값으로 변환.
16진수값이 저장된 a 변수를 문자열 인덱싱을 통해 앞의 0x를 제외한 나머지 부분 출력
6028번
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 ... 와 같다.
6029번
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 ... 와 같다.
6030번
영문자 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진수로 변환한 값
컴퓨터로 저장되고 처리되는 모든 데이터들은 2진수 형태로 정수화 되어야 하는데,
컴퓨터에 문자를 저장하는 방법으로 아스키코드(ASCII Code)나 유니코드(Unicode)가 자주 사용된다.
예를 들어, 영문 대문자 'A'는 10진수 값 65 로 표현하고,
2진수(binary digit) 값 1000001 로 바꾸어 컴퓨터 내부에 저장한다.
유니코드(unicode)는 세계 여러 나라의 문자를 공통된 코드 값으로 저장할 때 사용하는 표준 코드이다.
입력받은 문자를 ord() 함수를 통해 아시키 코드 수로 변환
아스키 코드로 변환한 수를 print() 함수로 출력
'기초 물방울 > Python' 카테고리의 다른 글
파이썬 코드업 기초100제 #2 (6011~6020) (0) | 2022.08.25 |
---|---|
코드업 기초100제 #1 (6006~6010) (0) | 2022.08.18 |
파이썬 클래스~모듈~예외처리~내장&외장함수 #5 (0) | 2022.07.10 |
파이썬 입출력~함수 #4 (0) | 2022.06.03 |
파이썬 if~While~for문 #3 (0) | 2022.05.27 |