더북(TheBook)

1부터 100까지 숫자를 차례대로 출력하되 3, 6, 9가 들어 있는 숫자에서는 ‘짝!’을 출력한다고 했을 때 구조를 정리하면 다음과 같습니다.

 

1 1부터 100까지 반복해야 하니 반복문이 필요합니다.

2 숫자에 3, 6, 9가 있는지 판단해야 해서 반복문 안에 조건문이 필요합니다. 1부터 100까지 숫자가 차례대로 저장되는 i에 3 또는 6 또는 9가 있으면 ‘짝!’을 출력합니다.

정리한 내용으로 코드를 작성해 봅시다. 세 조건(3 in i, 6 in i, 9 in i) 중 하나만 만족해도 되니 세 조건을 or로 연결해 조건문을 작성합니다.

print('3~ 6~ 9~ 369~ 3~ 6~ 9~ 369~ ')
for i in range(1, 101):
    if 3 in i or 6 in i or 9 in i:
        print('짝!', end=' ')
    else:
        print(i, end=' ')
실행결과
----> 3 if 3 in i or 6 in i or 9 in i:
TypeError: argument of type 'int' is not iterable

TypeError가 발생합니다. 설명을 보니 조건문에서 오류가 났네요. 앞에서 설명했듯이 in에는 문자열만 사용할 수 있는데 int, 즉 정수형을 사용해서 생긴 오류입니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.