Python 기본 - 3. 문자열 실습 예제

1번 문제 : 슬라이싱 및 문자열 합치기

첫 번째 문제는 주어진 string을 “슬라이싱” 및 “문자열 합치기”를 사용해서 주어진 format으로 만드는 것이다.

“20180108”을 “2018년 01월 08일”로 바꾸어 출력해 보자.

1
2
3
4
5
6
7
8
>>> a = "20180108"
>>> year = a[:4]
>>> month = a[4:6]
>>> date = a[6:]
>>> date_format = "{}년 {}월 {}일"

>>> print(date_format.format(year, month, date))
20180108

2번 문제 : 나누기 및 나머지 구하기를 활용한 1번 문제 풀이

두 번째 문제는 1번 문제와 동일한 결과물을 “나누기” 및 “나머지 구하기”를 활용하여 출력하는 것이다.

1
2
3
4
5
6
7
>>> a = 20180108
>>> year = int(a/10000) #int로 정수화
>>> month = int((a%10000)/100) #int로 정수화
>>> date = (a%10000)%100

>>> print("{0}년 {3}{1}월 {3}{2}일".format(year, month, date, 0))
20180108

다른 방법도 있을텐데 그냥 0 자리를 만들고 그대로 format 함수 사용해서 채워넣었다.

3번 문제 : 슬라이싱 및 문자열 합치기

세 번째 문제는 주어진 문자열의 문자를 “슬라이싱” 및 “문자열 합치기”를 활용하여 바꾸는 것이다.

“Hi Jeongwook” 을 “Hello Jeongwook” 으로 바꾸어 보자.

1
2
3
4
5
6
>>> b = "Hi Jeongwook"
>>> say_hello = "Hello "
>>> result_statement = say_hello + b[3:]

>>> print(result_statement)
"Hello Jeongwook"

4번 문제 : 원하는 문자를 Upper letter로 바꾸어 보기

네 번째 문제는 문자열을 입력 받은 후 첫 번째 문자와 마지막 문자만 대문자로 바꾸어 출력하는 것이다.

입력 받은 문자열을 슬라이싱 후 원하는 부분만 upper()을 적용한 후 다시 합치면 된다.

1
2
3
4
5
6
7
>>> input_statement = input()
>>> first_letter = input_statement[0].upper()
>>> last_letter = input_statement[-1].upper()
>>> middle_letter = input_statement[1:-1].lower()

>>> output_statement = first_letter + middle_letter + last_letter
>>> print(output_statement)