-
[Python] 파이썬으로 로또 프로그램 만들기Python 2022. 9. 12. 22:10
이번에는 파이썬으로 로또 프로그램을 만들어 보았다.
당첨 번호는 당연히 자동으로 출력값이 나오고, 유저 번호도 입력하기 귀찮아서 자동으로 출력이 되도록 했다..
당첨 경우의 수 구하기 pick.py
import random def win(): a = random.sample(range(1,46),7) print("당첨 번호: ", "[", end = '') for i in range(6): if i == 5: print(a[i], end = '') else: print(a[i], end = ', ') print("]") print("보너스 번호: ", a[-1]) print() return a def userPick(): a = random.sample(range(1,46),6) print("유저 번호: ", a) print() return a def countNum(): pick = [] pick = win() user = [] user = userPick() count = 0 bonus = 0 for i in range(0, len(pick)): if i == pick[-1]: bonus = 1 elif user.count(pick[i]) == 1: count += 1 else: pass return pick, user, count, bonus pick, user, count, bonus = countNum() if count == 6: print("축하합니다. 1등에 당첨되셨습니다.") elif (count+bonus) == 6: print("축하합니다. 2등에 당첨되셨습니다.") elif count == 5: print("축하합니다. 3등에 당첨되셨습니다.") elif count == 4: print("축하합니다. 4등에 당첨되셨습니다.") elif count == 3: print("축하합니다. 5등에 당첨되셨습니다.") else: print("다음에 다시 도전해주세요ㅠㅠ") print() def tran(): winNum = [] for i in range(0, len(pick)-1): winNum.append(pick[i]) bonus = pick[-1] return winNum, bonus
Lotto.py
from pick import * winNum, bonus = tran() def secondThird(winNum, num): for i in range(0, len(winNum)): tmp = winNum[i] if num == 2: winNum[i] = bonus elif num == 3: winNum[i] = 'X' print(winNum) winNum[i] = tmp def fourth(winNum): for i in range(0, len(winNum)): tmp = winNum[i] winNum[i] = 'X' for j in range(i+1, len(winNum)): tmpj = winNum[j] winNum[j] = 'X' print(winNum) winNum[j] = tmpj winNum[i] = tmp def Fifth(winNum): for i in range(0, len(winNum)): tmp = winNum[i] winNum[i] = 'X' for j in range(i+1, len(winNum)): tmpj = winNum[j] winNum[j] = 'X' for k in range(j+1, len(winNum)): tmpk = winNum[k] winNum[k] = 'X' print(winNum) winNum[k] = tmpk winNum[j] = tmpj winNum[i] = tmp while(True): num = int(input("몇 등의 경우의 수를 검색하시겠습니까?")) if num == 1: print("1등은 그냥 1등!") elif num == 2 or num == 3: secondThird(winNum, num) elif num == 4: fourth(winNum) elif num == 5: Fifth(winNum) else: break
728x90'Python' 카테고리의 다른 글
[Python] Selenium 크롤링 (0) 2023.06.28 [Python] 파이썬 성적관리 프로그램(파일 사용) (0) 2022.09.12