Python/이론

104. [Python] 프로그래밍 기본 사항 : Random & Datetime

천재단미 2025. 1. 21. 13:19
728x90
반응형

 

 

 

 

 

1. Random 모듈: 난수 생성 및 활용

1-1.  0.0 ~ 1.0 사이 난수 생성

import random
random.random()

 

출력

: 0.5702222105345648

 

  • 0.0 ~ 1.0 사이의 난수를 반환합니다.
  • 예: 암호 초기화 등에 활용 가능.

 

1-1-1.  특정 범위에서 난수 생성 

random.random() * 10

 

출력

:  3.143937127274532

 

  • 0 ~ 10 사이의 난수 생성.

 

 

 

1-2.  정수형 난수 생성

random.randint(1, 45)

 

출력

:  21

  • randint(a, b)는 a와 b 사이의 정수를 반환.

 

 

1-3.  실수형 난수 생성

random.uniform(1, 5)

 

출력

:  1.956151577492291

 

  • uniform(a, b)는 a와 b 사이의 실수를 반환.

 

 

1-4.  난수 패턴 고정

random.seed(21)
random.randint(1, 45)

 

출력

:  27

  • 동일한 난수를 반복적으로 생성하려면 seed()를 사용합니다.
  • 주로 테스트 환경에서 사용.

 

 

1-5.  리스트에서 랜덤 샘플 추출

noodle_list = ["너구리", "신라면", "진라면", "삼양라면", "안성탕면"]
random.choice(noodle_list)

 

출력

:  : '삼양라면'

 

  • choice()는 리스트에서 무작위 요소를 하나 선택.

1-6. 여러 개의 샘플 추출 

random.sample(noodle_list, 2)

 

 

출력

:  ['삼양라면', '안성탕면']

 

  • 리스트에서 지정된 개수만큼 무작위로 선택.

 

1-7.  리스트 섞기

random.shuffle(noodle_list)

 

  • 리스트 요소를 무작위로 섞음.

 

 

1-8.  평균값과 중앙값

# 평균값
import statistics

data = [1, 2, 3, 4, 5, 6, 7, 8]
sum(data) / len(data)

 

출력

: 4.777777777777778

 

# 중간값
data = [2, 5, 1, 4, 3, 6, 6, 2, 6]
sorted(data)  


statistics.median(data)

 

출력

: [1, 2, 2, 3, 4, 5, 6, 6, 6]

: 4

 

중앙값은 데이터를 정렬한 후 가장 중앙에 있는 값을 반환합니다.

  • 데이터가 홀수 개수일 때는 정확한 중앙값.
  • 데이터가 짝수 개수일 때는 중앙값 두 개의 평균을 반환.
# 짝수의 중간값 
data = [2, 5, 1, 4, 5, 3, 6, 6, 2, 6]
statistics.median(data)

 

출력

:  4.5

 

 

2. Datetime 모듈: 날짜와 시간 다루기

2.1 현재 날짜/시간 가져오기

from datetime import datetime
today = datetime.now()
print(today)

출력: 2025-01-21 13:18:57.936777

  • 현재 날짜와 시간을 가져옵니다.

 

2.2 날짜 생성

from datetime import date
someday = date(2024, 1, 21)
print(someday)

출력: 2024-01-21

  • 특정 날짜를 생성.

 

2.3 날짜 포맷팅

날짜 포맷 기호

기호 의미 예시

%Y 연도(4자리) 2024
%m 월(2자리) 01
%d 일(2자리) 21
%A 요일 Monday
%H 시(24시간) 14
%I 시(12시간) 02
>%p 오전/오후 PM

포맷팅 예제

someday.strftime("%Y년 %m월 %d일")

출력: 2024년 01월 21일

2.4 시간 다루기

from datetime import time
sometime = time(14, 9, 22)
print(sometime)

출력: 14:09:22

시간 포맷팅

sometime.strftime("%I:%M %p")

출력: 02:09 PM

 

728x90
반응형
home top bottom
}