random함수 사용하기 전에 먼저 외장 함수이기에 random을 import 해주어야 합니다.
import random
random함수의 종류는 random( ), uniform( ), randint( ), randrange( ), choice( ), shuffle( ) 등이 있습니다.
먼저 random( )은 0부터 11 사이의 실수를 랜덤으로 지정합니다.
>>> print(random.random())
>>> 0.9090304923
uniform( )은 random.uniform(x, y) 형태로 두 숫자 사이의 실수로 랜덤으로 지정합니다.
>>> print(random.uniform(1, 10))
>>> 3.51423451
randint( )은 uniform과 같이 random.randint(x, y) 형태로 두 숫자 사이의 정수로 랜덤으로 지정합니다.
>>> print(random.randint(1, 10))
>>> 6
randrange( )는 randint와 비슷합니다. 여기서 random.randrange(시작, 끝, 스텝)으로 합니다. 스텝은 3을 적었을 시 3칸
씩 이동합니다. 그러므로 3의 배수만 나오게 됩니다.
>>> print(random.randrange(0, 10, 3))
>>> 9
choice( )는 문자열 중에서 글자 하나를 뽑아서 지정합니다.
>>> print(random.choice("블로그 작성 중 입니다."))
>>> 성
shuffle( )은 말 그대로 섞습니다. 리스트 안에 요소들을 shuffleshuffle 한 뒤 출력하면 지정해준 것과 달리 섞여 나옵니다.
>>> blog = [1, 2, 3, 4]
>>> random.shuffle(blog)
>>> print((blog))
>>> [3, 4, 2, 1]
이 랜덤 함수를 사용하여 러시안룰렛을 만들겠습니다.
먼저 random함수 사용 전 import random을 해준 뒤 러시안룰렛을 위한 총알 리스트 하나를 만들겠습니다.
bullet = ['생존', '생존', '생존', '생존', '생존', '죽음']
이제 bullet을 랜덤으로 섞어줍니다. 저는 randint를 사용하여 인덱스번호를 가져와 만들었습니다.
while True문을 이용하여 '죽음'이 나올 때까지 돌려줍니다.
이제 쓴 총알은 지우기 위하여 list안에 내장함수 pop을 사용하여 쓴 총알 칸을 빼냅니다.
그전에 리스트 bullet의 인덱스 번호를 가져와 총을 쏠 것이기 때문에 인덱스 번호를 랜덤으로 하기 위해 아래와 같은 코드를 사용합니다.
i = 5
idx_bullet = random.randint(0, i)
러시안룰렛은 대부분 리볼버 형태로 6발을 사용하기 때문에 인덱스번호로 0부터 5까지 랜덤으로 섞습니다.
그리고 이제 bullet 리스트에서 랜덤으로 pop으로 하나씩 빼냅니다.
a = bullet.pop(idx_bullet)
print(a)
이제 하나씩 빼면서 출력할 때 '죽음'이 나온다면 게임을 종료해야합니다.
if문을 사용하여 a가 '죽음'이라면 break로 while True문을 빠져나가 줍니다.
그리고 만약 '생존'이라면 리스트의 범위가 줄어들기 때문에 i -= 1 또는 i = i - 1을 써줍니다.
그리고 다시 while문을 돌면서 '죽음'이 나올 때까지 게임을 합니다.
'Python 카테고리' 카테고리의 다른 글
CodeUp 1011~1020(★☆☆☆☆) (0) | 2019.09.15 |
---|---|
CodeUp 1001~1010(★☆☆☆☆) (0) | 2019.09.15 |
텍스트 단어 개수, 단어 빈도 순서(오름차순, 내림차순) 구하기 (0) | 2019.06.21 |
Python 집합(set) 자료형 (0) | 2019.06.19 |
Python 사전(Dictionary) 자료형 (0) | 2019.06.19 |