"숫자 10개를 리스트에 삽입한다. 이후, 각 원소에 대해 홀수 판별을 진행하여 홀수만 더한다."
T = int(input())
# 여러개의 테스트 케이스가 주어지므로, 각각을 처리합니다.
for test_case in range(1, T + 1):
list_n = list(map(int, input().split()))
sum = 0
for i in range(0,10):
if list_n[i] % 2 ==0 :
continue
else:
sum += list_n[i]
print('#' + str(test_case) + ' ' + str(sum))
숫자 10개를 받아야 하므로 변수를 각각 설정하기 보다는 list를 이용하여 받아온다.
반복문에서는 변수를 list의 index로 설정해서 각각의 원소에 대해 홀짝 판별을 진행할 수 있도록 했다.
범위는 range(0,10)으로 두어 list_n[0] ~ list_n[9]까지로 설정했다.
처음에 숫자가 10개라서 range(1,11)로 뒀다가 "IndexError: list index out of range"를 마주했다 😂 list의 index는 0부터 시작한다는 것 다시 한 번 주의하기!!
print문 내에서는 데이터 타입이 같은 요소들만 작성할 수 있으므로 모두 문자형으로 변경해서 작성해주었다.
1. range(0, 10) → range(10)
range함수는 시작 index를 0으로 설정하는 것이 기본임.
2. if list_n[i] % 2 ==0 → if list_n[i] % 2 != 0
홀수를 찾는 문제이므로 if 조건을 짝수 판별이 아닌 홀수 판별로 변경하는 것이 좋음.
3. print('#' + str(test_case) + ' ' + str(sum)) → print('#{} {}'.format(test_case, sum))
문자열 포맷팅¹을 사용하면 출력을 더 간단하게 작성할 수 있음.
ㆍ문자열 포매팅
: 문자열 안에 특정 값(정수, 문자열, 소수 등)을 삽입하는 방법
ㆍ 형식
print("문자열{}".format(변수))
Ex>
name = "홍길동"
age = 22
print("제 이름은 {}이고, {}살입니다.".format(name, age))
결과 : 제 이름은 홍길동이고 22살입니다.
+) 최신 형식 : f-string
name = "홍길동"
age = 22
print(f"제 이름은 {name}이고, {age}살입니다.")
→ 더욱 간결한 작성 가능