Python_note 2. 3의 배수는 n % 3 == 0이 아닌 이유

Taekyung Kim·2022년 6월 12일
0

python note

목록 보기
1/4
post-thumbnail

안녕하세요!

파이썬을 이제 시작하는 초보답게, 특정 조건에 대한 기초적인 코딩을 열심히 작성하고 있습니다.✍

그 중 int로 선언한 변수가 임의 숫자의 배수인지 확인하는 경우가 종종 있는데요. (구구단, 영수증 출력 문제 등)

처음에는 간단하게 아래와 같이 표시를 했었습니다.


👉num1이 3의 배수인지 확인하는 경우

num1 = 9

print(num1 % 3 == 0)

👉결과

True

이렇게 특정한 수를 3으로 나눈 나머지가 0인 경우로 제한하면 당연히 3의 배수를 확인할 수 있을 거라 생각했는데요.
for 나 while 반복문에서 생각지 못한 결과가 있었습니다.

👉 1부터 10 사이의 정수 중 3의 배수를 확인할 때

for i in range(10):
    if i % 3 == 0:
        print(i)

👉결과

0
3
6
9

반복문에서 위 조건에 대입하는 대상에 '0'이 포함되는 경우, 어쨌든 0으로 나누면 결과는 0이기 때문에 참인 조건으로 보더라구요.
range에서 0을 제외하거나, 0인 경우 False가 되도록 제한을 하면 이런 현상이 해결되었습니다.

이 case를 보면서, 관념적으로만 생각하면서 코딩을 작성하는 게 아니라, 반드시 작성한 코드의 result를 눈으로 확인하는 연습이 필요하다고 생각했습니다.

이런 생각지 못한 경우는 코딩 경험이 늘어나면 해소되겠죠? 🤣
오늘도 희망을 가져봅니다!

profile
computer science의 세계에 막 발을 딛고 있는 중입니다.

0개의 댓글