🐢 거북이반 조건문 연습
- 가위 바위 보 게임
- 사용자와 컴퓨터 모두 랜덤으로 입력받아 진행했던 게임에 여러 조건을 걸어 좀 더 흥미진진하게 바꿈
- 총 게임의 횟수 설정 : 10번
- 사용자가 이기기 위한 조건 생성 : 10번 중 3번을 먼저 이겨야 승리
while
문을 활용하여 조건에 맞아떨어져 루프가 끝나기 전까지 무한루프를 돌 수 있도록 하여 게임이 중간에 끊기지 않음
random.randint
와 list의 index
를 활용해 컴퓨터가 고르는 가위 바위 보를 랜덤하게 설정
- 혹시나 사용자가 이상한 값을 전달할 가능성이 있기 때문에 이 부분도
while
문을 돌려 제대로 된 값을 줄 때까지 무한정 대기하도록 설정
f-string
을 활용해 좀 더 수월한 출력 진행
- 코드
import random
print("============================================")
print("랜덤 컴퓨터를 이겨라! / 10번의 게임 중 3번 이기면 승리!")
print("============================================")
cnt = 0
no_cnt = 0
game_cnt = 0
while True:
if game_cnt < 10:
option = ['가위', '바위', '보']
computer_choice = random.randint(0, 2)
computer_value = option[computer_choice]
while True:
user_choice = input("가위, 바위, 보 중 하나를 입력하시오. : ")
if user_choice in option:
user_value = user_choice
break
else:
print("값을 제대로 입력하세요.")
print(f'플레이어는 {user_value}를 선택, 컴퓨터는 {computer_value}를 선택했습니다')
if computer_value == user_value:
result = 'draw'
print('비겼습니다')
elif user_value == '가위':
if computer_value == '바위':
result = 'lose'
print('졌습니다')
else:
result = 'win'
print('이겼습니다')
elif user_value == '바위':
if computer_value == '보':
result = 'lose'
print('졌습니다')
else:
result = 'win'
print('이겼습니다')
elif user_value == '보':
if computer_value == '가위':
result = 'lose'
print('졌습니다')
else:
result = 'win'
print('이겼습니다')
if result == 'win':
cnt += 1
print(f"당신이 이긴 횟수 : {cnt}")
if cnt == 3:
print("@@@@@@@ 당신이 승리하였습니다. @@@@@@@")
break
else:
no_cnt += 1
game_cnt += 1
print(f"남은 게임 횟수 : {10 - game_cnt} / 10")
else:
print("당신은 루저입니다. ㅋ")
break