FORMAT
format
format 포맷팅 : 중괄호 { }를 이용하는 방법
ex) tmp = "{ : d }".format(100)
print("int : {0}, string : {1}".format(100, "str") 처럼 변수의 타입과 상관없다
%
% 포맷팅 : %d, %s, %f 등과 함께 %를 이용하는 방법
ex) print("int : %d, string : %s" %(100, "str"))
Map
input()은 문자열로 입력을 받기 때문에 int(input())처럼 정수로 변환을 해주기도 하는데,
split()함수( : 일정 기준으로 나누어 리스트 형태로 변환)와 함께 이용할 때, int(input().split()) (X)
map함수를 이용해주며 split의 결과를 모두 해당 타입으로 변환할 수 있다.
map(int, input( ).split( ))
1. 구구단
a = int(input())
for i in range(1, 10):
print("{:d} * {:d} = {:d}".format(a, i, a*i))
range(1, 10)을 이용하여 1 ~ 9까지 구구단을 출력하도록 하였다.
출력 시, format을 이용하였다.
print("%d * %d = %d" %(a, i, a*i)) 로 해주어도 된다.
2. 음계
asc = [1, 2, 3, 4, 5, 6, 7, 8]
des = [8, 7, 6, 5, 4, 3, 2, 1]
num = list(map(int, input().split()))
count1 = count2 = 0
for j in range(8):
if asc[j] == num[j]:
count1 += 1
elif des[j] == num[j]:
count2 += 1
if count1 == 8:
print("ascending")
elif count2 == 8:
print("descending")
else:
print("mixed")
TypeError: cannot unpack non-iterable int object
: count1, count2 = 0이라고 해주고 나온 오류. 각자 따로 선언해주거나 위에 처럼 ","가 아닌 "="로 해주기.
list(map(int, input( ).split( ))
- 공백을 기준으로 문자열 형태의 입력을 받고, 리스트 형식으로 변환 : input( ).split( )
- 리스트 요소 하나하나에 접근하여 int로 변환 : map(int, ~)
- 리스트 형식으로 변환 : list( )
3. OX퀴즈
a = input() #테스트 케이스의 개수
for i in range(int(a)):
test = list(input()) #OOXO와 같은 문자열을 입력받아 ['O','O','X','O']형태로 변환
score = 0
result = 0
for j in test:
if j == "O":
score += 1
result += score
elif j == "X":
score = 0
print(result)
반응형