3.7 무작위 수(Random)
Last updated
Last updated
무작위 수(또는 램덤)을 활용하는 것은 단순히 한번의 함수호출이라서 지금까지 내용을 잘 숙지해 따라온 사람에게는 하나도 어려울 것이 없다. 그래서, 이번 장에서는 단순하면서 재미있는 게임하나를 무작위 수 기능을 활용해 만들어 보자.
게임제목은 "내 마음 속의 숫자를 맞춰봐!" 이고, 컴퓨터가 1~50까지의 무작위 수 하나를 생각할 것이고, 우리는 그 수가 무엇인지 최대한 적은 회수의 시도 안에 맞추면 되는 것이다. 게임의 흥미를 높히기 위해 우리가 정답을 맞추기 위해 시도한 답변숫자가 정답에 얼마나 가까운지에 대한 힌트를 지속적으로 주도록 만들었다.
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씩 더해나가라는 의미가 된다.