# Python 3일만 배우면 만들 수 있는 게임
# 가위! 바위! 보!
코드를 작성하기 앞서 어떤 순서로 진행될지 논리적 흐름을 정해봅시다.
* 흐름
자, 순서가 정해졌으니 코드로 옮겨볼까요?
A. 사용할 라이브러리 import 하기
B. 변수 정하기
C. 반복문
D. 소스코드 작성
import random
import time
# 승수를 저장하는 변수
count = 0
# 가위! 바위! 보! 효과에 사용할 문자열을 저장하는 변수
game = ['가위', '바위', '보']
#반복문 시작
while True:
'''3승 할 때 까지 게임 반복(count == 3 이면 종료)'''
# 컴퓨터가 무엇을 낼지 랜덤으로 결정
# randint함수를 통해 1 ~ 3의 랜덤한 숫자를 발생시키고 숫자마다 가위, 바위, 보 가 결정
randomNum = random.randint(1, 3)
if randomNum == 1 :
com = game[0] #'가위'
elif randomNum == 2 :
com = game[1] #'바위'
elif randomNum == 3 :
com = game[2] #'보'
# 사용자의 가위, 바위, 보 입력
player = input("[ 가위, 바위, 보 중 하나를 입력하세요 ]: ")
# 가위! 바위! 보! 효과
# time.sleep 은 입력한 시간(초)만큼의 딜레이를 주는 함수
for gbb in game:
print(gbb, end='! ')
time.sleep(1)
# 컴퓨터와 유저의 게임 결과 비교
# 조건은 승, 무, 패 로 구분되며 각 경우에 따라 출력문을 출력
if player == '가위' or player == '보' or player== '바위' :
# 사용자가 졌을 경우
if ( (com == '가위' and player == '보')
or (com == '바위' and player == '가위')
or (com == '보' and player == '바위') ) :
print('com=' + com + ' player=' + player + ' is [ com win ]')
# 사용자가 이겼을 경우
elif ( (com == '보' and player == '가위')
or (com == '가위' and player == '바위')
or (com == '바위' and player == '보') ) :
print('com=' + com + ' player=' + player + ' is [ player win ]')
# 승리시 count +1
count += 1
# 승수가 3이상일 경우 반복문을 종료
if count >= 3 :
print("== player가 3승으로 종료합니다. ==")
break
# 사용자와 컴퓨터가 무승부일 경우
else :
print('com=' + com + ' player=' + player + ' is [ draw ]')
else :
#입력을 잘못할 경우 건너뛰기
print("잘못 입력했습니다.")
continue
#몇승째인지 출력
print('※승수: %d/3 \n' % count)
E. 출력결과
* 재밌는 예제를 통해서 쉽게 배워봅시다. - 끝 -
파이썬은 누가 왜 만들었을까? (1) | 2023.06.29 |
---|---|
파이썬의 매개변수 삼총사 이야기 1. 가변 매개변수 (0) | 2023.01.12 |
[Django] 파일 업로드 & 다운로드 (feat. Model) (0) | 2022.11.24 |
댓글 영역