1. random 모듈

  • random 모듈은 파이썬에서 난수를 구하는 모듈입니다
  • random 모듈은 import random이라고 코딩한 뒤 random.함수이름()으로 random 모듈에 존재하는 함수들을 가져와 사용합니다

 

1) 함수 종류

1-1 random.random()

random의 대표함수로 0부터 1까지 소수점자리의 숫자를 무작위로 추출합니다.

()안에 넣을 수 있는 값은 없습니다.

 

ex)

random_float = random.random()
print(random_float)

[결과]: 0.46562559068679643

 

1-2 random.randint(a,b) / random.randrange(a,b)

a부터 b까지 범위의 정수를 무작위로 추출합니다

 

ex)

random_inteager = random.randint(1, 10)
print(random_inteager)

[결과]: 4

range = random.randrange(1, 10)
print(range)

[결과]: 6

 

1-3 random.uniform(a, b)

a부터 b까지 범위의 실수를 무작위로 추출합니다

 

ex)

random_uni = random.uniform(1, 10)
print(random_uni)

[결과]: 8.130202289656387

 

1-4 random.shuffle(seq)

random.shuffle(seq) 함수는 순서형 자료(sequence)를 뒤죽박죽으로 섞어놓는 함수입니다.

random.suffle(seq) 의 반환은 없고, 인자로 들어온 리스트 내부의 데이터를 무작위로 섞습니다.

해당 함수는 내부의 값을 무작위로 섞는 함수이기 때문에 내부인자를 변경할 수 있는 리스트만 가능합니다(문자열,튜플 X)

 

ex)

array = [0,1,2,3,4,5,6]
random.shuffle(array)
print(array)

[결과]: [1, 5, 3, 0, 6, 2, 4]

 

1-5 random.choice(seq)

random.choice(seq) 함수는 매개변수로 seq 타입을 받아 무작위로 하나의 원소를 추출하는 함수입니다.

해당 함수에서는 문자열,튜플,리스트,range도 사용 가능합니다

 

ex)

array = [0,1,2,3,4,5,6]
array_choice = random.choice(array)
print(array_choice)

[결과]: 5

 

2) 실습예제

Exercise)

랜덤 모듈을 이용하여 동전의 앞면과 뒷면을 출력하는 프로그램을 작성하세요

조건은 0은 뒷면 1은 앞면으로 생각하면 됩니다.

 

Solution)

import random

coin = random.randint(0, 1)

if coin == 0:
  print("Tails")
else:
  print("Heads")
  • 먼저 random모듈을 불러옵니다
  • coin 변수를 만들어 0부터 1까지 정수형으로 랜덤하게 추출되도록 합니다
  • if문을 사용하여 0이면 뒷면이 출력되고, 1이면 앞면이 출력되도록 합니다

+ Recent posts