본문 바로가기
개발 일지

TIL (24.02.28)

by 만식 2024. 2. 28.

 

29일이 개인과제 제출일이라 오늘도 어김없이 똑같은 과제에 심화과정을 추가했다.

 

2. 가위 바위 보 게임 만들기

import random

# 승패 횟수
win_count = 0
lose_count = 0
draw_count = 0

def play_game():
    global win_count, lose_count, draw_count  # 전역 변수로 사용할 것임을 명시
    print("가위, 바위, 보 시작~!")
    choices = ["가위", "바위", "보"]
    count = 0
    while True:
        if count == 0:
            user_choice = input("가위, 바위, 보 중 하나를 선택하세요: ")
        else:
            user_choice = input("한번 더 가위, 바위, 보: ")
        PC_choice = random.choice(choices)
        print(f"Your choice: {user_choice}")
        print(f"PC's choice: {PC_choice}")
        if user_choice == PC_choice:
            result = "비겼다!"
            draw_count += 1  # 무승부 횟수 증가
            print(result)
            count += 1
            continue
        elif (user_choice == "가위" and PC_choice == "바위") or \
                (user_choice == "바위" and PC_choice == "보") or \
                (user_choice == "보" and PC_choice == "가위"):
            result = "졌다!"
            lose_count += 1  # 진 횟수 증가
            print(result)
            break
        else:
            result = "이겼다!"
            win_count += 1  # 이긴 횟수 증가
            print(result)
            break
    return result

# 첫 실행 시에만 물어보는 함수
play_game()

# 한 판 더 하는 함수
while True:
    play_again = input("한 판 더 하시겠습니까? (y/n):")
    if play_again in ('y'):
        print("게임시작")
        play_game()
    elif play_again in ('n'):
        print("게임종료")
        break

# 승, 패, 무승부의 횟수를 통계
print("통계:")
print(f"이긴 횟수: {win_count}")
print(f"진 횟수: {lose_count}")
print(f"비긴 횟수: {draw_count}")

 


 while True:
        if count == 0:
            user_choice = input("가위, 바위, 보 중 하나를 선택하세요: ")
        else:
            user_choice = input("한번 더 가위, 바위, 보: ")
        PC_choice = random.choice(choices)
        print(f"Your choice: {user_choice}")
        print(f"PC's choice: {PC_choice}")
        if user_choice == PC_choice:
            result = "비겼다!"
            draw_count += 1  # 무승부 횟수 증가
            print(result)
            count += 1
            continue
        elif (user_choice == "가위" and PC_choice == "바위") or \
                (user_choice == "바위" and PC_choice == "보") or \
                (user_choice == "보" and PC_choice == "가위"):
            result = "졌다!"
            lose_count += 1  # 진 횟수 증가
            print(result)
            break
        else:
            result = "이겼다!"
            win_count += 1  # 이긴 횟수 증가
            print(result)
            break

 먼저 비겼을 때에 이어서 게임이 진행될 수 있도록, while true문으로 비겼을 땐 반복될 수 있도록 countinue를 썼고, 이겼을 때와 졌을 때는 반복되지 않게 break문으로 실행했다. 

 


승,패,무승부의 횟수를 통계하기

# 승패 횟수
win_count = 0
lose_count = 0
draw_count = 0
.
.
.
        if user_choice == PC_choice:
            result = "비겼다!"
            draw_count += 1  # 무승부 횟수 증가
            print(result)
            count += 1
            continue
        elif (user_choice == "가위" and PC_choice == "바위") or \
                (user_choice == "바위" and PC_choice == "보") or \
                (user_choice == "보" and PC_choice == "가위"):
            result = "졌다!"
            lose_count += 1  # 진 횟수 증가
            print(result)
            break
        else:
            result = "이겼다!"
            win_count += 1  # 이긴 횟수 증가
            print(result)
            break
.
.
.
# 승, 패, 무승부의 횟수를 통계
print("통계:")
print(f"이긴 횟수: {win_count}")
print(f"진 횟수: {lose_count}")
print(f"비긴 횟수: {draw_count}")

 

'개발 일지' 카테고리의 다른 글

TIL(24.03.05)  (0) 2024.03.05
TIL(24.03.04)  (1) 2024.03.04
TIL (24.02.29)  (1) 2024.02.29
TIL (2024.02.26)  (1) 2024.02.27
TIL (2024.02.24)  (2) 2024.02.26