본문 바로가기
IT/Python Basic

[Python] 초급 개념16 - random 모듈 활용

by Echinacea 2025. 2. 19.
반응형

random 모듈은 난수를 생성하는 다양한 기능을 제공합니다. 랜덤 숫자를 생성하거나 리스트에서 무작위로 값을 선택하는 등의 작업을 수행할 수 있습니다.

랜덤 기능은 게임 개발, 데이터 샘플링, 보안 및 시뮬레이션과 같은 다양한 분야에서 활용됩니다.


 

 

🔹 1. random.randint() - 랜덤 정수 생성

정해진 범위에서 랜덤 정수를 생성할 때 randint(a, b)를 사용합니다.

 

✅ 예제 1: 랜덤 정수 생성

import random

num = random.randint(1, 10)
print("랜덤 정수:", num)

출력 예시:

랜덤 정수: 7

 

📌 설명:

  • random.randint(1, 10)1에서 10 사이의 랜덤 정수를 반환합니다.
  • 실행할 때마다 다른 값이 출력될 수 있습니다.

 

 

🔹 2. random.random() - 0~1 사이의 난수 생성

0과 1 사이의 실수(float) 난수를 생성하려면 random.random()을 사용합니다.

 

✅ 예제 2: 0~1 사이의 난수 생성

num = random.random()
print("랜덤 실수:", num)

출력 예시:

랜덤 실수: 0.7312345678

 

📌 설명:

  • random.random()0.0 이상 1.0 미만의 실수를 반환합니다.

 

 

🔹 3. random.uniform() - 특정 범위 내 실수 생성

특정 범위 내에서 실수를 랜덤하게 생성하려면 random.uniform(a, b)를 사용합니다.

 

✅ 예제 3: 랜덤 실수 생성 (특정 범위)

num = random.uniform(1.5, 3.5)
print("랜덤 실수 (1.5~3.5):", num)

출력 예시:

랜덤 실수 (1.5~3.5): 2.71892

 

📌 설명:

  • random.uniform(1.5, 3.5)는 1.5에서 3.5 사이의 랜덤 실수를 반환합니다.

 

 

🔹 4. random.choice() - 리스트에서 랜덤 선택

리스트에서 무작위로 하나의 값을 선택하려면 random.choice()를 사용합니다.

 

✅ 예제 4: 리스트에서 무작위 선택

items = ['🍎', '🍌', '🍊', '🍇']
choice = random.choice(items)
print("랜덤 선택:", choice)

출력 예시:

랜덤 선택: 🍊

 

📌 설명:

  • random.choice(items)는 리스트 items에서 무작위로 하나의 요소를 선택합니다.

 

 

🔹 5. random.sample() - 리스트에서 여러 개 무작위 선택

리스트에서 중복 없이 여러 개를 선택하려면 random.sample()을 사용합니다.

 

✅ 예제 5: 여러 개의 값 선택

items = ['🍎', '🍌', '🍊', '🍇', '🍓']
choices = random.sample(items, 3)
print("랜덤 선택 (3개):", choices)

출력 예시:

랜덤 선택 (3개): ['🍎', '🍊', '🍓']

 

📌 설명:

  • random.sample(items, 3)는 리스트에서 중복 없이 3개의 요소를 선택합니다.

 

 

🔹 6. random.shuffle() - 리스트 섞기

리스트의 요소를 무작위로 섞으려면 random.shuffle()을 사용합니다.

 

✅ 예제 6: 리스트 섞기

cards = ['♠', '♥', '♦', '♣']
random.shuffle(cards)
print("섞은 결과:", cards)

출력 예시:

섞은 결과: ['♦', '♠', '♣', '♥']

 

📌 설명:

  • random.shuffle(cards)는 리스트의 요소를 무작위로 섞습니다.

 

 

🔹 7. random.seed() - 난수 고정하기

random.seed(n)을 설정하면 항상 동일한 난수가 생성됩니다.

 

✅ 예제 7: 동일한 난수 생성

random.seed(42)
print(random.randint(1, 100))
print(random.randint(1, 100))

출력 예시:

81
14

 

📌 설명:

  • random.seed(42)를 설정하면 항상 같은 난수 값이 출력됩니다.

 

 

🔹 8. 마무리

이번 문서에서는 random 모듈을 활용한 다양한 난수 생성 방법을 학습했습니다.

핵심 요약

  • random.randint(a, b): 범위 내 정수 난수 생성
  • random.random(): 0~1 사이 실수 난수 생성
  • random.uniform(a, b): 특정 범위 내 실수 난수 생성
  • random.choice(seq): 리스트에서 랜덤 요소 선택
  • random.sample(seq, n): 리스트에서 중복 없이 n개 선택
  • random.shuffle(seq): 리스트 요소를 무작위로 섞기
  • random.seed(n): 동일한 난수 생성 (재현 가능성 확보)
반응형

댓글