파이썬에서 주사위 굴리기
2017/05/23
참고:
어릴 때부터 주사위 가지고 노는 것을 좋아했다. 주사위가 만들어내는 랜덤
이 좋았다.
어떤 숫자가 나올지 모른다. 내가 바라는 숫자가 나오면 짜릿하겠지만, 그렇지 않아도 그 숫자를 받아들여야 한다.
기대와 체념을 동시에 품고 있는, 어쩌면 자연
을 닮았을지도 모르는 랜덤.
파이썬에서 랜덤을 구현할 때는 우선 파이썬 표준 라이브러리인 랜덤 라이브러리를 임포트해야 한다.
import random
a = random.random()
print(a)
#=>0보다 크고 1.0보다는 작은 소수가 무작위로 추출.
랜덤 정수를 구할 때에는 동일한 방법에 10을 곱한 뒤 소수 자릿수를 제거해버려도 되지만.
import random
b = random.random() * 10 #10은 결코 나오지 않는다.
b = int(b) #정수 자리만 남기고 소수 자리는 없애버린다. 즉, 무조건 '내림'한다.
print(b)
#=>0은 포함되며, 10보다는 작은 정수가 무작위로 추출.
하지만 랜덤 모듈의 randint() 함수를 쓰면 간단하다.
import random
c = random.randint(0, 9) #0부터 9까지 무작위로 추출. 9도 나온다는 데 주의!
print(c)
#=>0 이상 9 이하 정수가 무작위로 추출.
1부터 10까지 무작위 추출하고 싶다면 randint()의 인자를 1과 10으로 바꿔주면 된다. 단, randint()의 두 번째 인자는 일반적인 파이썬 인자 성질과는 달리 포함(include)된다는 것에 주의하자.
import random
c = random.randint(1, 10) #1부터 10까지 무작위로 추출. 10도 나온다는 데 주의!
print(c)
#=>1 이상 10 이하 정수가 무작위로 추출.
그렇다면 주사위도 굴릴 수 있다. random.randint(1,6)으로 바꿔주면 된다.
마지막으로 random.choice() 함수. 여기에는 시퀀스를 인자로 넣어주면 된다. 즉, 리스트, 튜플, range() 오브젝트 등이 들어갈 수 있다.
import random
dice = [1,2,3,4,5,6]
roll = random.choice(dice)
print(roll)
#=>dice 리스트에 포함된 숫자 중 하나가 임의로 추출.