본문 바로가기

1. Python

[Python study] 로또 번호 생성하기 part 2

728x90
반응형

안녕하세요 오늘은 랜덤 로또번호 생성하기 두번째 시간이에요 지난 시간에 공부했던 내용이랑 함께 이제 진짜 번호 생성기를 만들어봐요😅

처음부터 이 글을 보시기 전에 아래의 Chapter 1 부터 확인해주세요!

2023.02.12 - [1. Python] - [Python study] Day09

 

[Python study] Day09

오늘은 파이썬 스터디 9번째 시간이에요! 자리에 앉기만 하면 열심히 공부하는데,, 주말에 앉기까지가 쉽지않네요😥 지난번에 배운 반복문 조건문을 이용해서 로또 번호 생성기를 만들어보려

bobby1001.tistory.com

로또번호를 선택하는데 조건은 어떤것들이 있을까요 ?

크게 3가지 조건이 있는데요 조건은 아래와 같습니다.

 

첫번째로, 1~45 사이의 숫자 선택

두번째로, 중복 없이 숫자 선택

세번째로, 6개의 숫자 만 선택

 

그럼 위에 조건 순서대로 차근차근히 코드를 작성해보아요!

 

1. 1~45 사이의 숫자 선택

 

지난 시간에 마지막에 다루었던 모듈 중에 random 모듈안에 있는 randint 함수를 이용합니다.

우선 랜덤모듈을 import 하고 randint 함수를 사용해주면 되겠죠!

randint(a,b) 는 a부터 b까지의 임의 숫자 선택이므로 1,45를 부여합니다.

첫번째 조건이 완성됐습니다!

 

아!!! 지난 공부시간에 더 알아봤어야하는 사전지식이 더있었네요,,😥

추가 지식에 대해 빠르게 알아보도록 해요 !

 

1) if A not in B : 

"B 안에 A가 없으면 아래코드를 실행" 

 

2) list.append('A') "list 안에 'A' 를 추가해라"예를들어 

과 같은 리스트가 있다고했을때,

append 함수를 쓰면 다음과 같이 리스트 마지막에 항목이 추가되는것을 확인 할 수 있습니다.

3) len(list)

"list 내부의 원소 개수"

위에 새로만든 list 내부에 원소 개수를 출력해보겠습니다.

list 내부에 원소의 개수인 6이 출력되는 것을 확인 하실 수 있습니다.

 

2. 중복없이 숫자 선택

 

두번째 조건은 조건문을 사용해서 작성해야하는데요,,

 

우선

1)빈 list를 생성합니다.이후에

2) list에 숫자를 하나하나 반복해서 추가해나가면서

3) list내에 있는 숫자와 대조 한 이후 중복이면 다시 뽑는 형태

로 구성 하면되겠습니다!

코드만 봐서는 무슨 소리인지 잘 이해가 안되니 예시를 들어서 차근차근 어떻게 돌아가는지 알아보겠습니다!

이러한 순서대로 list 내부에 중복되는 숫자가 없게 추가 되는 무한 루프가 생성이 됩니다.

 

3.  6개의 숫자만 선택

 

세번째 조건인 6개 숫자 만 선택하는 조건은 매우 간단합니다!

위코드에 len 함수를 써서 list 내부에 원소가 6개가 되면 while 무한 루프가 중단하는 코드만 하나 추가해주면 됩니다.😊

lotto_num이라는 리스트에 원소의 개수가 6이면( == ) while 루프를 break 하라는 식을 아래에 추가로 작성 해봤습니다.

마지막으로 console 창에서 확인하기위해 print 함수를 이용해서 lotto_num을 출력하는 코드를 작성합니다.

이제 모든 작업이 끝났습니다.😛

 

1, 2, 3 번 조건을 모두 부합하는 전체 코드를 모두 작성해 보면 다음과같습니다!

마지막으로 실행을 해보면!

1~45 사이의 숫자 중 중복없이 6개가 랜덤으로 선택 되는 것을 확인 하실 수 있습니다.

 

4. 마치며

 

오늘은 랜덤 로또번호 생성하기 Chapter2번째 시간을 가져봤는데요 여러분은 어떠셨나요

저는 이제까지 공부한 이론 및 여러가지 코드를 조합하고 구성해보니 그럴싸한 프로그래밍이 된 것같아 기쁘고

마치 레고블럭을 조립해서 작은 조립품을 만드는 것과 같은 느낌이 들었네요,,

여러분들도 재밌으셨길 바라며 다음 시간에는 더욱더 알찬 공부를 같이 해봐요😀

728x90
반응형

'1. Python' 카테고리의 다른 글

[Python study] PyKrx Random 주식 종목 선택 코딩  (0) 2023.02.20
[Python study] PyKrx 패키지 알아 보기  (0) 2023.02.18
[Python study] Day09  (1) 2023.02.12
[Python study] Day08  (0) 2023.02.09
[Python study] Day07  (0) 2023.02.06