[프로젝트] 숫자야구
숫자 3개 뽑기 : generate_numbers
from random import randint
def generate_numbers():
numbers = []
while len(numbers) < 3:
num = randint(0,9)
if num not in numbers:
numbers.append(num)
return numbers
print(generate_numbers())
숫자 예측하기 : take_guess
def take_guess():
print("숫자 3개를 하나씩 차례로 입력하세요.")
guess =[]
while len(guess) < 3:
num = int(input(f"{len(guess) + 1}번째 수를 입력하세요. : "))
if num < 0 or num >9:
print("범위에서 벗어나는 숫자입니다. 다시 입력하세요.")
elif num in guess:
print("중복되는 숫자입니다. 다시 입력하세요.")
else:
guess.append(num)
return guess
print(take_guess())
점수 계산하기 : get_score
def get_score(guesses, solution):
strike = 0
ball = 0
for i in range(3):
if guesses[i] == solution[i]:
strike += 1
elif guesses[i] in solution:
ball += 1
return strike, ball
s_1, b_1 = get_score([2, 7, 4], [2, 4, 7])
print(s_1, b_1)
s_2, b_2 = get_score([7, 2, 4], [2, 4, 7])
print(s_2, b_2)
모두 합치기
answers = generate_numbers()
attempts = 0
s = 0
print("0과 9 사이의 서로 다른 숫자의 3개의 랜덤한 숫자를 뽑았습니다.")
while s < 3:
attempts += 1
guesses = take_guess()
s, b = get_score(guesses, answers)
print(f"{s}S {b}B")
print(f"축하합니다. {attempts}번 만에 숫자 3개의 값과 위치를 모두 맞추셨습니다.")