본문 바로가기
프로그래밍이야기/python

[python] List 추출 방법

by 사랑꾼이야 2020. 5. 6.
반응형

Lotto  번호.


아내에게 Lotto 번호 프로그램을 하나 만들어주었는데.


주 사용하는 Java가 아닌 다른 언어로 사용해보고 싶은 마음에.


python으로 개발.


알고리즘 그런 것은 없지만 한달동안.


1주에 1만원씩 총 4번의 시도 중 5등(5000원) 2번, 4등(5만원)의 당첨이 되면서.


프로그램 괜찮다고 자화자찬 중.



적지 않은 Lotto 인생 중 모든 번호가 나오는 기이한 기록을 겪으면서.


내가 뽑은 Random 수 중에서 다시 한줄로 뽑으면 어떨까 라는 생각을 하면서.


프로그램 수정이 필요하다고 생각되었다. 



참고.


https://docs.python.org/3/tutorial/datastructures.html



Random.


내가 뽑은 Random수 중에서 다시 Random으로 수를 뽑아야 해서.


추가(아래)


1
2
# 공통
import random




1번. List내에서 1개만  Random으로 추출(아래)


1
2
lotto = [21017183045
choiceLotto = random.choice(lotto)




2번. List내에서 중복 허용하지 않으면서 2개 이상 Random으로 추출(아래)


1
2
3
lotto = [21017183045
# 리스트에서 2개 랜덤 추출 
sampleLotto = random.sample(lotto, 2)




3번. List내에서 중복 허용하면서 2개 이상 Random으로 추출(아래)


1
2
3
lotto = [21017183045
# 리스트에서 2개 랜덤 추출(중복 허용) 
choiceLottoList = [random.choice(lotto) for i in range(2)]




결정.


Random으로 뽑은 수 중에서 다시 Random으로 수를 뽑아야 하고,


중복이 되면 안되기 때문에.


2번의 방법으로 진행 .(아래)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
로또 번호 자동 생성 프로그램 시작
-------------------------------------------
게임수를 입력하세요. 숫자만 입력 가능합니다. :
숫자입력 :5
-------------------------------------------
랜덤으로 뽑은 Lotto 숫자
[13, 14, 23, 29, 38, 41]
[9, 13, 20, 30, 41, 45]
[5, 12, 14, 21, 23, 29]
[8, 9, 13, 20, 21, 22]
[8, 29, 37, 41, 43, 45]
랜덤으로 뽑힌 Lotto 숫자 중에서 다시 랜덤으로 뽑은 숫자
[8, 13, 21, 23, 38, 41]
[8, 20, 23, 30, 43, 45]
[8, 9, 14, 23, 37, 38]
[12, 13, 21, 22, 29, 45]
[5, 8, 9, 20, 29, 37]
-------------------------------------------
로또 번호 자동 생성 완료




완성하였다.



총평.


이참에 알고리즘을 설계해봐야 하나 생각해본다.

반응형

'프로그래밍이야기 > python' 카테고리의 다른 글

[python] append와 extend  (0) 2020.05.19

댓글