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 |