[2025.03.01] 숫자야구 게임 만들기

2025. 3. 4. 09:36·Python
  • 3월 1일에 나와서 숫자야구 게임을 만들어봄
  • 규칙
    • 0에서 9까지 4개의 중복없는 숫자를 뽑음. (0이 앞에 와도 상관X)
    •  사용자가 4개의 중복없는 숫자를 뽑아서 정답 숫자와 비교해봤을 때, 뽑은 숫자가 정답 숫자에 포함되어 있으면 갯수에 따라 n 볼, 그 숫자의 자리까지 맞으면 n 스트라이크임. 

 

# 2025.03.01.(토)
# 4자리 숫자 0~9, 중복X
# 숫자가 포함되어 있음 ==> n볼
# 자리수까지 맞음 ===> n스트라이크

import random

print("숫자야구 게임을 시작합니다.")
count = 1

com_num_initial = []
while len(com_num_initial) < 4:
    com_num = random.randint(0, 9)
    switch = False
    for i in com_num_initial:
        if i == com_num:
            switch = True
            break

    if switch:
        # print("컴퓨터 숫자 중복 발생")
        continue

    com_num_initial.append(com_num)
    com_num = com_num_initial
# print("컴퓨터가 선택한 숫자: ",com_num)

while True:
    user_initial = []
    while len(user_initial) < 4:
        user_num = input("4개의 숫자를 입력해주세요: ")
        if user_num.isnumeric() == False:
            print("0 ~ 9 사이의 숫자를 입력해주세요!!")
            continue
        user_num = int(user_num)
        if not 0 <= user_num <= 9:
            print("0 ~ 9 사이의 숫자를 입력해주세요!!")
            continue

        switch = False
        for i in user_initial:
            if i == user_num:
                switch = True
                break
        if switch:
            print("중복된 숫자입니다. 다시 입력해주세요.")
            continue

        user_initial.append(user_num)
        user_num = user_initial
    # print("선택한 번호: ", user_num)

    strike = 0
    ball = 0
    for i in range(4):
        if user_num[i] == com_num[i]:
            strike += 1
        elif user_num[i] in com_num:
            ball += 1

    if strike == 4:
        print(f"{count}회차: 정답입니다!")
        break
    else:
        print("컴퓨터가 선택한 숫자: ", com_num)
        print("사용자가 선택한 숫자: ", user_num)
        print(f"{count}회차: {strike} 스트라이크, {ball} 볼 입니다.")

    count += 1

 

'Python' 카테고리의 다른 글

[2025.03.04] 순서도 그리기_4_리스트  (0) 2025.03.04
[2025.03.04] 물고기 키워 팔기 게임  (0) 2025.03.04
[2025.02.28] 순서도 그리기_3_반복문  (0) 2025.03.01
[2025.02.28] 순서도 그리기_2  (0) 2025.02.28
[2025.02.27] 순서도 그리기_1  (0) 2025.02.27
'Python' 카테고리의 다른 글
  • [2025.03.04] 순서도 그리기_4_리스트
  • [2025.03.04] 물고기 키워 팔기 게임
  • [2025.02.28] 순서도 그리기_3_반복문
  • [2025.02.28] 순서도 그리기_2
polibo
polibo
Polibo의 개발 성장기 지켜봐주십슈 (콩 싫어해요.)
  • polibo
    Polibo와 개발 콩나무 키우기
    polibo
  • 전체
    오늘
    어제
    • 분류 전체보기 (64)
      • Python (23)
      • C (32)
        • 본수업 (19)
        • 예습 (7)
        • 개인프로젝트01 - 로또 (3)
        • 개인프로젝트02 - 복켓몬 키우기 (2)
        • 개인프로젝트03 - 김복천국 POS기 (1)
        • 팀프로젝트01 - 용사 복이의 대모험 RPG (0)
        • 팀프로젝트02 - 메일 프로그램 (0)
      • TCP_IP (0)
      • DB (1)
      • C++ (7)
      • QT (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    코딩
    조건문
    c언어 scanf
    문자열
    C
    반복문
    파이썬반복문
    파이썬예제
    while문
    for문
    else if
    파이썬조건문
    Python
    파이썬게임
    순서도
    if문
    c언어
    파이썬 숫자야구
    c우선순위
    파이썬
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
polibo
[2025.03.01] 숫자야구 게임 만들기
상단으로

티스토리툴바