티스토리 뷰

 Python3 

 

입출력 6문제를 풀면서 아 이제 입출력은 그만할까? 했다가 쭉 풀기로 마음 먹게 된 문제..

문제 자체는 어렵지 않다. 백준 10950문제와 비슷하다. >> [Python/Algorithm] - 백준 10950 : Python 입출력(3)

 

단지 출력할 때 숫자만 출력하는 것이 아닌, 문자열도 같이 출력해야한다.

 

각 테스트 케이스마다 "Case #x: " 를 출력해야 하기 때문..

 

<오류 출력 코드>

c = a + b
print("Case #%d: %d" % i % c )

처음에 문자열 출력이여서 이런 식의 출력 방법을 생각해보았지만 역시 오류.

그렇다면 어떻게 출력해야 할까?


f - string 이용

f-string은 print()함수 안에서 문자열을 작성하기 위해 f를 붙이고 그 뒤에 문자열을 붙이는 방식이다.

이 방법을 사용하게 되면, 일반 문자열과 다르게 { } 괄호 안에 변수 또는 변수의 연산 값을 넣을 수 있다.

 

파이썬만의 새로운 방식... 낯설다 너..

 


반복문은 for문과 while문 둘다 사용할 수 있다. 상관이 없다.

나는 순간 생각난 것이 while문이라 이렇게 작성했다.

전체 코드는 이렇다.

T = int(input())        # 테스트 케이스 개수 입력
i = 1

while i <= T:
    a, b = map(int, input().split())
    print(f'Case #{i}: {a + b}')	# f-string
    i = i + 1

for문을 사용하게 된다면, 

T = int(input())        # 테스트 케이스 개수 입력

for i in range(1, T+1):	# 1부터 T까지
	a, b = map(int, input().split())
    print(f'Case #{i}: {a + b};)	# f-string

두 줄 정도 짧아질 수는 있겠다. 

 

 

 

 

해당 문제 : https://www.acmicpc.net/problem/11021
 

11021번: A+B - 7

각 테스트 케이스마다 "Case #x: "를 출력한 다음, A+B를 출력한다. 테스트 케이스 번호는 1부터 시작한다.

www.acmicpc.net

댓글