만든 기록들

숫자 야구

설유리아 2020. 2. 12. 18:07
from random import randint

numbers = [] #정답
temp = 0
tries = 0 #횟수
strike_count = 0 #스트라이크 판정
ball_count = 0 #볼 판정

#세개 뽑을 때까지 반복
while len(numbers) < 3:
    new_numbers = randint(0, 9)

    #새로운 수가 나올때까지 반복
    while new_numbers in numbers:
        new_numbers = randint(0, 9)
    numbers.append(new_numbers)

print("0과 9사이의 서로 다른 세 숫자를 랜덤한 순서로 뽑았습니다.")

# 다 맞출때까지 반복
while strike_count < 3:
    print("세 수를 하나씩 차례대로 입력하세요.")

    choose = []
    # 맞추기 위한 수 입력
    while len(choose) < 3:
        temp = (int(input("%d번째 수를 입력해주세요. : " % (len(choose) + 1))))
        # 중복, 범위 벗어나는 수를 대비하기 위해
        if temp in choose:
            print("중복되는 수입니다. 다시 입력해주세요.")
        elif temp >= 10 or temp < 0:
            print("범위를 벗어나는 수입니다. 다시 입력해주세요.")
        else:
            choose.append(temp)


    i = 0 #인덱스
    strike_count = 0  # 스트라이크 판정
    ball_count = 0  # 볼 판정
    # ball인지 strike인지 확인
    while i < 3:
        if choose[i] == numbers[i]:
            strike_count += 1
        elif choose[i] in numbers:
            ball_count += 1
        i += 1

    print("%dS %dB" % (strike_count, ball_count))
    tries += 1

print("축하합니다. %d번만에 세 숫자의 값과 위치를 모두 맞추셨습니다." % (tries))

결과 1
결과 2

from random import randint

numbers = [] #정답
temp = 0
tries = 0 #횟수
strike_count = 0 #스트라이크 판정
ball_count = 0 #볼 판정

#세개 뽑을 때까지 반복
while len(numbers) < 3:
    new_numbers = randint(0, 9)

    #새로운 수가 나올때까지 반복
    while new_numbers in numbers:
        new_numbers = randint(0, 9)
    numbers.append(new_numbers) #순서대로 값을 넣는다.

print("0과 9사이의 서로 다른 세 숫자를 랜덤한 순서로 뽑았습니다.")

# 다 맞출때까지 반복
while strike_count < 3:
    print("세 수를 하나씩 차례대로 입력하세요.")

    choose = []
    # 맞추기 위한 수 입력
    while len(choose) < 3:
        temp = (int(input("%d번째 수를 입력해주세요. : " % (len(choose) + 1))))
        # 중복, 범위 벗어나는 수를 대비하기 위해
        if temp in choose:
            print("중복되는 수입니다. 다시 입력해주세요.")
        elif temp >= 10 or temp < 0:
            print("범위를 벗어나는 수입니다. 다시 입력해주세요.")
        # 중복, 범위를 벗어나는 수가 없다면 차례대로 입력
        else:
            choose.append(temp)


    i = 0 #인덱스
    strike_count = 0  # 스트라이크 판정
    ball_count = 0  # 볼 판정
    # ball인지 strike인지 확인
    while i < 3:
        if choose[i] == numbers[i]:
            strike_count += 1 # 위치가 같다면 strike_count의 값을 올린다.
        elif choose[i] in numbers:
            ball_count += 1 # 위치가 같지 않지만 만약 있다면 ball_count 값을 올린다.
        i += 1

    print("%dS %dB" % (strike_count, ball_count))
    tries += 1

print("축하합니다. %d번만에 세 숫자의 값과 위치를 모두 맞추셨습니다." % (tries))