창작물

랜덤하게 로또번호를 만들어 출력시켜주는 코드

ilsancityboy 2023. 7. 5. 22:57

랜덤을 사용하는 모듈 random을 배웠으니 곰곰히 생각해 오늘은 무엇을 만들어볼까? 하다

로또번호를 만들어 매번 랜덤하게 다른 로또번호를 출력시켜주는 코드를 만들어보았다.

먼저 코드를 작성하며 신경써야 했던 조건부들이다.

 

● 1부터 45까지의 번호를 6개 출력.

● 출력되는 숫자들을 작은 순서대로 나열.

● 출력되는 숫자들은 겹치는 번호가 없어야함.

● 실행시킬때 마다 랜덤하게 결과가 출력.

 

먼저 랜덤하게 출력시키는 방법은 이미 random모듈을 사용하면 된다는 것을 알고있고

작은 순서대로 나열시키는 방법은 sort() 함수를 사용하면 된다는 것을 알고있다.

문제는 겹치는 번호가 나오면 안된다는 점인데 검색끝에 

random모듈에서 sample()함수를 사용하면 된다는것을 알았다.

예시로 random.sample(test, 10) 를 쓴다면

test라는 데이터안에서 중복되지않는 랜덤한값들을 10개 뽑아낸다는 의미인 것이다.

따라서 다 조립하여 코드를 써본다면..

 

#모듈 불러오기
import random

#변수 지정
number = random.sample(range(1,46), 6)
number.sort()

#출력
print(number)

 뭔가 허전하고 정감도 없으니 꾸며주면 완벽히 완성된다.

#모듈 불러오기
import random

#환영인사 
answer = input("로또 번호 생성기입니다! 로또를 번호를 뽑아낼까요? O X ")
if answer == "O":
#변수 지정
	number = random.sample(range(1,46), 6)
	number.sort()

#출력
	print("자동 로또번호는 " , number , " 입니다! ")

elif answer == "X":
	print("알겠습니다! 다음 기회에 뽑아보는걸로 하죠!")

else:
	print(" O X 둘중 하나만을 입력하여 대답해주세요!")

실행 결과는 ..

잘 된다! 성공!

이번주 주말에 로또 사야겠다..

 

 

 

 

느낀점 

 

생각보다 단순했다. 

이로써 오늘 배운점은 모듈들을 잘 활용하면 매우 쉽고 단순하게 코드를 만들 수 있다는 점을 깨달았다.

또한 random.sample() 함수를 통해 무엇을 할 수 있는지 새롭게 배웠고 sort 를 통해 낮은 순서부터 재배열 시켜주는 것을 새롭게 알았다.