본문 바로가기
Python

[Python] random 모듈의 다양한 기능

by teamnova 2024. 8. 25.
728x90

안녕하세요

오늘은 파이썬에서 ramdom 모듈의 다양한 기능과 사용 예제에 대해서 알아보겠습니다.

 

예제는 파이참에서 진행했습니다.

 

 

우선 전체 코드입니다.

from random import *

# 기본 예제
print("1. 기본 랜덤 함수")
print(random())  # 0.0 ~ 1.0 미만 임의의 값 생성
print(random() * 10)  # 0.0 ~ 10.0 미만 임의의 값 생성
print(random() + 1)  # 1.0 ~ 2.0 미만 임의의 값 생성
print(int(random() * 10))  # 0 ~ 10 미만 임의의 값 생성
print(randrange(1, 46))  # 1 ~ 45 임의의 값 생성

# 추가 함수들
print("\n2. 추가 랜덤 함수")
print(randint(1, 10))  # 1 ~ 10 사이의 정수 (양 끝 포함)
print(uniform(1, 10))  # 1 ~ 10 사이의 실수 (양 끝 포함)

# 리스트에서 랜덤 선택
fruits = ['apple', 'banana', 'orange', 'grape']
print("\n3. 리스트에서 랜덤 선택")
print(choice(fruits))  # 리스트에서 하나의 요소 무작위 선택
print(sample(fruits, 2))  # 리스트에서 중복 없이 2개 요소 선택

# 리스트 섞기
numbers = list(range(1, 11))
print("\n4. 리스트 섞기")
print("섞기 전:", numbers)
shuffle(numbers)
print("섞은 후:", numbers)

# 시드 설정
print("\n5. 시드 설정")
seed(42)  # 시드 설정
print(random())
print(random())
print(random())
seed(42)  # 같은 시드 다시 설정
print(random())
print(random())
print(random())# 위와 동일한 결과 출력

 

 

각 예제별로 사용된 기능에 대해서 간단하게 설명을 하겠습니다.

 

  • randint(): 양 끝을 포함한 정수 범위에서 랜덤 선택
  • uniform(): 실수 범위에서 랜덤 선택
  • choice(): 리스트에서 단일 요소 랜덤 선택
  • sample(): 리스트에서 중복 없이 여러 요소 랜덤 선택
  • shuffle(): 리스트 요소들의 순서를 랜덤하게 섞기
  • seed() 함수를 사용한 랜덤 시드 설정 방법

감사합니다.