라이브러리에 있는 함수를 쓰는 방법: random 함수의 예
지난번에 다루었던 input과 print는 파이썬에 기본으로 들어가 있는 함수들입니다. 그래서 코딩할때 특별한 작업 없이 그냥 그대로 사용하면 됩니다.
하지만 기본으로 들어가 있지 않은 함수가 대부분입니다. 이럴 경우에는 함수가 소속되어있는 ‘라이브러리’를 불러와야 합니다. 아나콘다로 파이썬을 설치하면 웬만한 라이브러리는 다 설치되지만 그렇지 않은 경우는 라이브러리를 컴퓨터에 설치하는 작업을 미리 해야합니다. 그리고 라이브러리에 있는 함수를 쓰려면 라이브러리 이름을 앞에 붙여 써야지만 함수를 쓸 수 있습니다. 예를 들어보죠.
우리가 무작위로 만들어낸 숫자를 ‘난수’라고 합니다. 영어로는 random number 라고 합니다. 난수롤 만들어내는 함수를 쓰려면 random 이라는 라이브러리를 불러내야 합니다. 라이브러리는 함수와 변수들이 한군데 모여있는 집합으로 보면 되겠습니다.
jupyter notebook에서 다음과 같이 쓴다음에 Shift-Enter를 치면, 난수를 만드는 함수가 들어있는 라이브러리를 불러들일 수 있습니다.
import random
이제부터 random이라는 라이브러리에 있는 함수를 쓸 수 있는 준비가 됩니다. 이제 난수를 만들려면 어떻게 할까요? 먼저 라이브러리 이름인 random을 쓴 다음 점(.)을 찍고 다시 random이라는 함수를 쓰면 됩니다. 만약에 함수에 아무 값도 넣지 않으면, 함수는 0에서 1 시이의 숫자를 만들어서 내보냅니다. 아래와 같이 치면 화면에 0에서 1사이의 숫자를 출력합니다.
a = random.random() print(a)
만약에 0에서 10 사이의 난수를 만들려면 아래와 같이 코드를 쓰면 됩니다.
b = random.random()*10.0 print(b)
제대로 난수를 만드는지 난수를 만들어 화면에 출력하는 작업을 반복해보겠습니다.
for k in range(10) : a = random.random() print(a)
for k in range(10) : b = random.random()*10.0 print(b)
random이라는 라이브러리에는 다른 몇가지 재미있는 함수들이 있습니다.
x = [] for k in range(20) : x.append(random.random())
먼저 0 에서 20까지의 정수가 순서대로 들어있는 만들어 보겠습니다.
x = [] for k in range(20) : x.append(random.random()) print(x)
이미 공부했듯이 더 간단하게는 아래처럼 프로그래밍하면 됩니다.
x = [ k for k in range(20) ] print(x)
이제 목록속에 들어있는 20개의 숫자중에 하나를 무박위로 뽑아보겠습니다. random 이라는 라이브러리에 있는 함수인 choice를 쓰면 됩니다. 아래와 같이 반복해서 이 함수를 써보면 어떻게 숫자를 뽑아내는지 볼 수 있습니다.
for k in range(50) : a = random.choice(x) print(a)
목록속에 있는 숫자들을 섞을 수도 있습니다. 고스톱 게임을 할때 화투를 섞거나, 포커 게임을 할때 카드를 섞는 것을 생각하면 되겠습니다. 이럴땐 shuffle이라는 함수를 쓰면 됩니다. 아래 코드를 생행해보면 x에 순서대로 저장되어있던 목록이 뒤섞여 있음을 확인할 수 있습니다.
random.shuffle(x) print(x)
random이라는 라이브러리속에 있는 함수를 쓸떄 항상 random.을 붙여야하는게 귀찮을 수 있다. 그러면 아래와 같이 라이브러리를 불러들이면 random. 대신 rd. 을 붙여서 함수를 쓸 수 있습니다. 이런 방법을 쓰면 키보드로 입력하는 글자의 수를 많이 줄일 수 있습니다.
import random as rd a = rd.random() print(a)