엔트리-파이썬
모든 무료책 보기엔트리 기초책 7개 예제 클론하며 파이썬 공부하기엔트리 커스텀 버전 다운로드책관련 Q&A
  • 엔트리로 파이썬 기초 입문하기
  • 1. 엔트리 vs 엔트리-파이썬
  • 2. 엔트리-파이썬의 시작
  • 3. 엔트리-파이썬으로 파이썬 언어의 기본문법을 익히자
    • 3.1 Hello World 예제코드의 이해
    • 3.2 입/출력 (Input/Output)
    • 3.3 변수 (Variable)
    • 3.4 조건 (Condition)
    • 3.5 반복 (Loop)
    • 3.6 리스트 (List)
    • 3.7 무작위 수(Random)
    • 3.8 함수 (Function)
  • 4. 엔트리-파이썬으로 프로그래밍의 핵심 개념을 익히자
    • 4.1 순차/병렬처리 (Serial/Parallel)
    • 4.2 절차 지향형 (Procedural)
    • 4.3 이벤트 주도형 (Event-Driven)
    • 4.4 객체 지향형 (Object-Oriented)
  • 5. 부록
    • 엔트리-파이썬 단축키 모음
Powered by GitBook
On this page
  1. 3. 엔트리-파이썬으로 파이썬 언어의 기본문법을 익히자

3.7 무작위 수(Random)

Previous3.6 리스트 (List)Next3.8 함수 (Function)

Last updated 1 month ago

무작위 수(또는 램덤)을 활용하는 것은 단순히 한번의 함수호출이라서 지금까지 내용을 잘 숙지해 따라온 사람에게는 하나도 어려울 것이 없다. 그래서, 이번 장에서는 단순하면서 재미있는 게임하나를 무작위 수 기능을 활용해 만들어 보자.

게임제목은 "내 마음 속의 숫자를 맞춰봐!" 이고, 컴퓨터가 1~50까지의 무작위 수 하나를 생각할 것이고, 우리는 그 수가 무엇인지 최대한 적은 회수의 시도 안에 맞추면 되는 것이다. 게임의 흥미를 높히기 위해 우리가 정답을 맞추기 위해 시도한 답변숫자가 정답에 얼마나 가까운지에 대한 힌트를 지속적으로 주도록 만들었다.

# 엔트리봇 오브젝트의 파이선 코드
import Entry

com_num = 0
my_num = 0
try_total = 0

def when_start():
    com_num = random.randint(1, 50)
    
    while True:
        Entry.input("마음 속으로 1부터 50까지의 수를 생각했으니, 한번 맞춰봐! 몇 번만에 맞출 수 있을까?")
        my_num = Entry.answer()
        try_total += 1
        
        if my_num == com_num:
            Entry.print("Bingo! " + try_total + " 번 만에 찾아냈군!")
            Entry.stop_code("all")
        else:
            if my_num < com_num:
                Entry.print(my_num + " 보단 더 높은 수야")
            else:
                Entry.print(my_num + " 보단 더 낮은 수야")
            Entry.wait_for_sec(2)

9번 라인에서 무작위 수를 만드는 randint 함수를 사용하였다. 해당 함수는 random이라는 모듈(또는 라이브러리) 안에 존재하기 때문에 오리지널 파이썬이라면 해당 모듈을 불러드려야 하기 때문에 import random 이란 코드가 코드 맨 상단에 추가되어야 함에도 불구하고, 엔트리-파이썬에서는 이러한 import 하는 과정없이도 해당함수를 직접 호출하여 사용하고 있다. 함수에 넘겨질 값은 어떤 수부터 어떤 수까지의 사이의 무작위 수 인지를 정확히 요청하기 위해 1~50 사이의 숫자란 의미로, ranint(1, 50)의 시작과 마지막 값, 두 값을 함수의 인자값(아규먼트)들로서 넘겼다.

그밖에 나머지 코드들은 이미 배운 것으로 크게 이해에 어려운 것이 없을 것으로 예상되어, 추가적인 설명은 필요 없을 것 같고, 이제 이 게임을 더 재미있게 발전시켜 보는 것은 여러분의 과제로 남겨본다.

14번 라인에서 try_total += 1 이라는 구문에서 낯선 연산자 '+=' 가 등장했는데, 사실은 이 연산의 사용은 이전 장의 리스트 사용예제에서 총합계를 구하는 식에서 이전 합계에 현재 값을 누적해 더해가는 코드와 동일한 코드이다. 따라서, 그 예제처럼 try_total = try_total + 1 이라고 적어도 동일하게 동작하고, 이 코드를 간소화해서 try_total += 1 이렇게 적어도 동일한 의미가 된다. 즉, 이전의 try_total값에서 연속적으로 1씩 더해나가라는 의미가 된다.

🔢
🔢