본문 바로가기

IT

15-1. 파이썬 - 로또 , up down 게임

로또

'''
#리스트나 집합에 로또번호 6개를 랜덤으로 담아서 오름차 순으로 출력하라
#단, 중복 숫자는 배제하라. 로또번호는 1~ 45번입니다.

'''

import random as r
import time


lotto = []

while True:
    num= r.randint(1, 45)
    if num not in lotto:
        lotto.append(num)
    
    if len(lotto) == 6:
        break

# 리스트 오름차 정렬
lotto.sort()
print("-----------이번주 로또번호--------------")
print(lotto)
import random as r

# 당첨번호 생성
win = set() # 당첨번호를 고정시키자
while len(win) < 6:
    num = r.randint(1, 45)
    win.add(num)
    
win = list(win)
win.sort
print(win)
    
# 내가 구매할 로또가 1등 당첨될때까지 구매하는 로직 작성

cnt = 0 
while True:
    my_lotto = set()
    while len(my_lotto) < 6:
        num = r.randint(1, 45)
        my_lotto.add(num)
    my_lotto = list(my_lotto)
    my_lotto.sort()
    cnt += 1
    
    if my_lotto == win:
        print("1등에 %d번만에 당첨되셨습니다. 축하합니다." % cnt)
        print("당첨까지 사용한 금액 : %d원" % (cnt * 1000))
        print("당첨확률: %.8f" % ((1/cnt) * 1000))
        break
    else:
        print("로또 %d장째 구매중.." % cnt)

 

up down 게임

'''
* UP & DOWN 게임
1. 1~100사이의 정수 난수를 발생시켜 해당 값을 사용자가 맞추게 
   하는 게임입니다.
2. 사용자가 처음 입력한 값이 정답값보다 큰지 작은지 사용자에게 
알려주어 사용자가 지속해서 범위를 좁혀가며 답을 찾을 수 있도록 합니다.
3. 정답을 맞췄을 때 프로그램이 종료되도록 프로그램을 구성해보세요.
4. 사용자가 정답을 맞췄을 때 몇번만에 정답을 맞췄는지 
   출력하는 로직을 추가하세요.
'''
import random

secret = random.randint(1, 100)
count = 0
count_down = 7

print("[UP & DOWN 게임 - 1~100사이의 숫자 중 어떤 숫자가 들어있을까요???]")
while True:    
    print("-" * 40)
    num = int(input("숫자를 입력하세요: "))
    count += 1
    count_down -= 1
    
    if count_down <= 0:
        count_down = 0    

    if num == secret:
        if count < 8:
            print("정답입니다!! %d번만에 맞추셨군요~" % count)
            print("YOU WIN!")
            break
        else:
            print("정답입니다!! %d번만에 맞추셨군요~" % count)
            print("YOU LOSE! 원샷입니당~~ >_<")
            break
    elif num < secret:
        print("UP!!")
        print("정답 기회 %d번 남음~~" % count_down)
    else:
        print("DOWN!!")
        print("정답 기회 %d번 남음~~" % count_down)