📲PROJECT/MY_Projects

[Fun Projects] 2. 추억의 야구게임 만들기

728x90
반응형


01_Making_Baseball_game

In [4]:
import random
In [161]:
print("야구게임에 참가하신걸 환영합니다!")
print("------------------")
numlist = list([1,2,3,4,5,6,7,8,9])
cnum = random.sample(numlist,3)
correct = list()
for i in range(3):
    correct += str(cnum[i])
    
print("맞춰야 할 숫자는 {0},{1},{2}입니다".format('?','?','?'))

n_count = 0
n_strike = 0
n_ball = 0

print("!!..야구게임을 시작합니다..!!")
print("----------------")
while(n_strike < 3):

    num = str(input("3자리 숫자를 입력해주세요 : " ))

    if (len(num) < 3):
        print("세 자리를 입력해주세요!")
    elif (num[0] == num[1] or num[0] == num[2] or num[1] == num[2]):
        print("하나의 숫자는 한 번만 사용할 수 있습니다!")
        print("다시 입력해주세요!")
    else: 
        n_strike = 0
        n_ball = 0

        for i in range(0,3):
            for j in range(0,3):
                if (num[i] == correct[j] and i == j):
                    n_strike += 1
                elif (num[i] in correct[j] and i != j):
                    n_ball += 1
        n_count += 1
        print("결과 : [시도횟수 : {0} / Strike : {1} / Ball : {2}]".format(n_count,n_strike,n_ball))
        print("-------------")
print("-----------------")
print(n_count,"번 만에 정답!")
야구게임에 참가하신걸 환영합니다!
------------------
맞춰야 할 숫자는 ?,?,?입니다
!!..야구게임을 시작합니다..!!
----------------
3자리 숫자를 입력해주세요 : 11
세 자리를 입력해주세요!
3자리 숫자를 입력해주세요 : 122
하나의 숫자는 한 번만 사용할 수 있습니다!
다시 입력해주세요!
3자리 숫자를 입력해주세요 : 123
결과 : [시도횟수 : 1 / Strike : 0 / Ball : 1]
-------------
3자리 숫자를 입력해주세요 : 345
결과 : [시도횟수 : 2 / Strike : 0 / Ball : 2]
-------------
3자리 숫자를 입력해주세요 : 436
결과 : [시도횟수 : 3 / Strike : 1 / Ball : 1]
-------------
3자리 숫자를 입력해주세요 : 483
결과 : [시도횟수 : 4 / Strike : 0 / Ball : 2]
-------------
3자리 숫자를 입력해주세요 : 637
결과 : [시도횟수 : 5 / Strike : 1 / Ball : 1]
-------------
3자리 숫자를 입력해주세요 : 467
결과 : [시도횟수 : 6 / Strike : 0 / Ball : 2]
-------------
3자리 숫자를 입력해주세요 : 786
결과 : [시도횟수 : 7 / Strike : 1 / Ball : 0]
-------------
3자리 숫자를 입력해주세요 : 784
결과 : [시도횟수 : 8 / Strike : 2 / Ball : 0]
-------------
3자리 숫자를 입력해주세요 : 789
결과 : [시도횟수 : 9 / Strike : 1 / Ball : 0]
-------------
3자리 숫자를 입력해주세요 : 714
결과 : [시도횟수 : 10 / Strike : 2 / Ball : 0]
-------------
3자리 숫자를 입력해주세요 : 734
결과 : [시도횟수 : 11 / Strike : 3 / Ball : 0]
-------------
-----------------
11 번 만에 정답!




* 두 자리 수를 넣었을 때는 숫자를 다시 입력하도록 한다.

* 중복된 숫자를 넣었을 때도 숫자를 다시 입력하도록 한다.


예전에는 직접 손으로 하던 게임인데, 컴퓨터를 상대로 하니 감회가 새롭다...!


728x90
반응형