과제 내용:
추가 도전 과제:
이젠 안 쓰면 섭섭하다.
난 초심자다.
배밀이도 못하는 초심자 수준이니까 로직을 또 손으로 짰다.
대충 이런 식으로...일단 적었다.
맞는지 아닌지도 모른다 그냥 적었다.
import random
rsp = ['Rock', 'Scissor', 'Paper']
computer_pick = random.choice(rsp)
사실 난 생각나는 게 없어서 rsp라고 이름을 정했는데 options이 더 괜찮은 것 같으다...
다음은 사용자가 선택하는 칸, input을 사용해준다.
player = input("가위,바위,보 중에 하나를 선택하세요.")
if player == computer_pick:
print('비겼습니다.')
elif (player == 'Rock'and computer_pick == 'Paper') or (player == 'Scissor' and computer_pick == 'Rock') or (player == 'Paper' and computer_pick == 'Scissor'):
print('졌습니다.')
else:
print('이겼습니다.')
elif 부분은 어떻게 적어야 되나 생각을 했었는데, 하나하나 다 적으면 코드가 너무 길어질 것 같아서 사용자가 진 경우를 or을 사용해서 전부 적어주었다. (사진이랑 살짝 달라진 건,,, 흐린 눈)
여기까지가 꼭 들어가야 하는 기능들을 넣은 것이다. 근데 여기는 왜 while true문을 왜 안 쓰지...? 했는데 게임이 끝나면 반복하라는 이야기가 추가 과제였다... ㅋㅋㅋㅋㅋ
여기까지 구현하는 것도 꽤나 애먹었기 때문에 추가 도전 과제는 멈추었다.
그래도 추가 도전 과제까지 한 코드도 올려야지!
import random
options = ['가위', '바위', '보']
def get_player_choice():
while True:
player_choice = input('가위, 바위, 보 중 하나를 선택하세요: ')
if player_choice in ['가위', '바위', '보']:
return player_choice
else:
print('잘못된 입력입니다. 다시 입력하세요.')
win = 0
draw = 0
lose = 0
while True:
player_choice = get_player_choice()
computer_choice = random.choice(options)
print(computer_choice)
if (
(player_choice == '가위' and computer_choice == '보')
or (player_choice == '바위' and computer_choice == '가위')
or (player_choice == '보' and computer_choice == '바위')):
print('이겼음')
win += 1
elif player_choice == computer_choice:
print('비겼음')
draw += 1
else:
print('졌음')
lose += 1
retry = input('다시하시겠습니까? (Y/N)').lower()
if retry == 'y':
continue
elif retry == 'n':
break
print(f"승리 : {win}회 / 비김 : {draw}회 / 패배 : {lose}회")
부트 캠프 시작한 지 일주일, 파이썬 공식이라는 것을 안 지 3일 정도 된 지금,,, 사실 아직도 감이 안 잡힌다. 그래도 업다운 게임이랑 가위바위보 게임을 만들기 위한 로직을 종이에 직접 적어보니 살짝!! 정말 살짝!! 알 것 같다는 느낌만 아주 살짝!!!!! 들었다...^.^