주의할 점은 randint() 함수는 끝 숫자 미만이 아닌 이하, 즉 끝 숫자를 포함한 범위 안에서 난수를 뽑는다는 점입니다. 따라서 다음 두 문장은 난수 생성 범위가 같습니다.
print(randrange(1, 46)) # 1 이상 46 미만에서 난수 생성
print(randint(1, 45)) # 1 이상 45 이하에서 난수 생성
실행결과 |
13 30 |
그러면 로또 번호 6개를 추첨하기 위해 다음처럼 같은 문장을 6번 반복하면 될까요? 운이 좋으면 어쩌다 서로 다른 수 6개가 나올 수도 있지만, 중복 번호가 발생할 수도 있습니다. 각 문장은 서로 영향을 주지 않는 독립 사건이기 때문입니다.
print(randint(1, 45))
print(randint(1, 45))
print(randint(1, 45))
print(randint(1, 45))
print(randint(1, 45))
print(randint(1, 45))
이럴 때는 random 모듈에서 제공하는 sample()이라는 함수를 이용하면 됩니다. 이 부분은 제어문을 배운 후에 5.6 실습 문제: 당첨자 뽑기에서 다시 살펴보겠습니다.