본문 바로가기
코딩라이브러리/파이썬

파이썬 문자열 formatter string (with 백준 2739)

by 유니네 라이브러리 2024. 5. 20.

파이썬의 문자열 포매팅 하는 방법은 4가지가 있다.

  • 포맷 문자열 리터럴
    시작 인용부호 또는 삼중 인용 부호 앞에 f 또는 F를 붙여 문자열 작성.
    이 문자열 안에서, { 및 } 문자 사이에, 변수 또는 리터럴 값 작성하여 파이썬 표현식 삽입한다.
var = "abcde"
print(f"문자열뒤집기: {var[::-1]}") #문자열뒤집기: edcba
  • 문자열 format() 메서드
    중괄호와 그 안에 있는 문자들 (포맷 필드) 은 str.format() 메서드로 전달된 객체들로 치환된다.
lst = ['a', 'b', 'c', 'd', 'e']
for i in range(0, len(lst)):
    print('lst 의 {} 번째 값은 "{}!"'.format(i, lst[i]))
"""
lst 의 0 번째 값은 "a!"
lst 의 1 번째 값은 "b!"
lst 의 2 번째 값은 "c!"
lst 의 3 번째 값은 "d!"
lst 의 4 번째 값은 "e!"
"""
  • 중괄호 안의 숫자는 str.format() 메서드로 전달된 객체들의 위치를 가리키는 데 사용될 수 있다.
lst = ['a', 'b', 'c', 'd', 'e']
for i in range(0, len(lst)):    
    print('lst 에는 "{1}" 값이 있고, {0} 번째에 있다.'.format(i, lst[i]))
"""
lst 에는 "a" 값이 있고, 0 번째에 있다.
lst 에는 "b" 값이 있고, 1 번째에 있다.
lst 에는 "c" 값이 있고, 2 번째에 있다.
lst 에는 "d" 값이 있고, 3 번째에 있다.
lst 에는 "e" 값이 있고, 4 번째에 있다.
"""
  • 수동 문자열 포매팅
    str.rjust() : 왼쪽에 스페이스를 채워서 문자열을 우측 줄맞춤한다.
A = ['a', 'b', 'c', 'd', 'e']
B = ['가', '나', '다', '라', '마']
for i in range(0, len(A)):    
    print(A[i], B[i]) # 기본
"""
a 가
b 나
c 다
d 라
e 마
"""
A = ['a', 'b', 'c', 'd', 'e']
B = ['가', '나', '다', '라', '마']
for i in range(0, len(A)):    
    print(A[i], B[i].rjust(5)) #rjust() 사용
"""
a     가
b     나
c     다
d     라
e     마
"""
  • 예전 문자열 포매팅
    % 연산자로 문자열 포매팅을 사용할 수 있다.
    ‘String’ % values 가 주어지면 ‘String’ 에 있는 % 인스턴스에 values 요소로 대체된다.
A = 10
B = 20
print("A 더하기 B는 %0.0f 이다." % (A+B)) # A 더하기 B는 30 이다.

 

▶ 문자열 포매팅 연습 백준 문제 풀이 2739
https://www.acmicpc.net/problem/2739

val = int(input())
while True:
    if (val >= 1 and val <= 9):
        for i in range(1,10):
            rtn = val * i
            print(f"{val} * {i} = {rtn}")     
        break
    else:
        val = int(input())
"""
3
3 * 1 = 3
3 * 2 = 6
3 * 3 = 9
3 * 4 = 12
3 * 5 = 15
3 * 6 = 18
3 * 7 = 21
3 * 8 = 24
3 * 9 = 27
"""

 

☞ 파이썬 자습서 참고 사이트
https://docs.python.org/ko/3/tutorial/inputoutput.html

 

7. Input and Output

There are several ways to present the output of a program; data can be printed in a human-readable form, or written to a file for future use. This chapter will discuss some of the possibilities. Fa...

docs.python.org