파이썬/파이썬(python) 초급

[12-3 파이썬] 숫자 맞추기 게임 만들기(순서도, 코드, global 전역변수 실습하기, 전역변수 수정하기)

Olivia-BlackCherry 2022. 8. 21. 10:25

이번에는 숫자 맞추기 게임을 만들어보자. 

UP, DOWN 게임으로도 불린다.

up뜻 올리다.

down뜻 내리다.

1. 순서도 작성하기

<게임규칙>
1. 정답 숫자를 컴퓨터가 정한다.
2. 나는 예상하는 숫자를 하나 말하는데, 
만약 정답> 예상하는 숫자면, UP이라고 이야기하고
정답 < 예상하는 숫자면, DOWN이라고 이야기한다. 
정답 = 예상하는 숫자면 정답이라고 말한다. 
3. 게임은 1단계(쉬움), 2단계(어려움)으로 나뉘고
1단계면 최대 10번까지 기회를 주며, 2단계면 최대 5번까지 기회를 준다.

이를 바탕으로 순서도를 작성해보았다.

 

 

2. 코딩하기

알고리즘을 구성했으니, 

코딩을 시작해보자!

 

알고리즘 짜는 것이 시간이 오래 걸리지...

코딩은 금방이다!

게임 난이도를 정한다. 
단계에 따라 쉬우면 최대 5번 반복, 어려우면 최대 10번 반복할 수 있다.

 

정답을 확인한다. 
guess_number는 플레이어가 예상하는 숫자
answer_numbers는 컴퓨터가 정한 정답
max_count는 횟수를 의미하는 파라미터이다.

 

게임을 시작하는 함수를 정의한다. 

1. 변수 정의해보자.
answer_number은
random.randint(start, end)--->start, end포함 
함수를 사용하여 임의로 지정한다.

max_count는 위의 decision_level()함수의 리턴값이다. 

while 구문을 돌리기 위해서 
guess_number을 임의로 설정한다.

위의 코드에서 중요한 개념은 return이다. 
return을 통해 while구문을 종료시킬 수 있다는 점이 
아주 중요하며 앞으로 유용하게 쓰일 개념이다!!!!!

 

 

이제까지의 코드를 실행해보자.

아래의 재생버튼 ▶을 눌러서 최종 결과를 실행해보세요 

 

 

 

아래의 코드는 game()함수를 새롭게 정의했다.

만일 return 함수를 쓰지 않고,

이전에 공부했던 것처럼
while 구문을 False로 하는 조건을 설정했다.

while 구문 종료를 위해 False 조건을 정해야 하는데,

이를 위해 함수 내에서 전역변수를 가져와 사용했다. 

global count를 적고

count 변수 값을 직접 수정해나가며

False 조건을 만들었다.

이제까지의 코드를 실행해보자.

아래의 재생버튼 ▶을 눌러서 최종 결과를 실행해보세요