청소년IT경시대회 프로그래밍 언어(파이썬) 대비

아두위키 : Arduwiki
ArduWiki (토론 | 기여)님의 2024년 10월 4일 (금) 19:00 판

1. struct

C/C++ 구조를 파이썬에서 사용할 수 있도록 데이터 변환할 때 사용하는 모듈.

1) pack : 원하는 값들을 특정 포맷으로 하나의 객체로 합쳐줌

2) unpack : 합쳐진 객체를 특정 포맷으로 여러 객체로 분리해줌

2. datetime

날짜와 시간을 다루는 모듈.

1) datetime 클래스 : 년, 월, 일, 시간, 분, 초, 마이크로초 등을 포함한 객체 생성

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

# 출력 결과 
# 2024-09-14 01:55:57.531073

2) strptime : 문자열을 datetime 객체로 변환

import datetime
s = "2024-09-14 11:20:45"
date = datetime.datetime.strptime(s, "%Y-%m-%d %H:%M:%S")
print(date)

# 출력 결과 
# 2024-09-14 11:20:45

3) strftime : datetime 객체를 지정한 포맷에 맞게 문자열로 변환

import datetime
now = datetime.datetime.now()
date1 = now.strftime("%Y년 %m월 %d일 %H:%M:%S")
print(date1)
# 출력 결과 
# 2024년 09월 14일 02:08:51

date2 = now.strftime("%m월 %d일 !! ")
print(date2)
# 출력 결과 
# 09월 14일 !! 

date3 = now.strftime("%Y.%m.%d. %H시 %M분 %S초")
print(date3)
# 출력 결과 
# 2024.09.14. 02시 10분 29초


4) 포맷

포맷코드 설명
%a 요일 줄임말 Sun, Mon, ..., Sat
%A 요일 Sunday, Monday, ..., Saturday
%w 요일을 숫자로 표시 (일요일:0, 월요일:1, ..., 토요일:6) 0, 1, ..., 6
%d 01, 02, ..., 31
%b 월 줄임말 Jan, Feb, ..., Dec
%B January, February, ..., December
%m 숫자 월 01, 02, ..., 12
%y 두 자릿수 연도 01, 02, ..., 99
%Y 네 자릿수 연도 0001, 0002, ..., 2023, 2024, ..., 9999
%H 시간(24시간) 00, 01, ..., 23
%I 시간(12시간) 01, 02, ..., 12
%p AM, PM AM, PM
%M 00, 01, ..., 59
%S 00, 01, ..., 59
%Z 시간대 대학민국 표준시 (비어 있음), UTC, EST, CST
%j 1월 1일부터 경과한 일수 001, 002, ..., 366
%U 1년중 주차, 일요일이 한 주의 시작으로 00, 01, ..., 53
%W 1년중 주차, 월요일중 주차, 월요일 00, 01, ..., 53
%c 날짜, 요일, 시간을 출력, 현재 시간대 기준 Sat Sep 14 02:19:16 2024
%x 날짜를 출력, 현재 시간대 기준 09/14/24
%X 시간을 출력, 현재 시간대 기준 02:20:13

3. calendar

1) calendar : 입력한 년도의 달력을 출력

import calendar
print(calendar.calendar(2024))

[출력 결과]

2) month : 입력한 년도의 원하는 월 출력

import calendar
print(calendar.month(2024, 10))

[출력 결과]

4. math

1) round : 지정한 소수점 자릿수에 맞춰 반올림하는 함수

import math
a=7.147
print(round(a))
print(round(a,-1))
print(round(a,1))
print(round(a,2))
print(round(a,3))
print(round(a,4))

# 출력 결과
# 7
# 10.0
# 7.1
# 7.15
# 7.147
# 7.147

2) ceil : 실수를 올림하여 정수로 반환

import math
a=7.147
print(math.ceil(a))
b=3.7
print(math.ceil(b))

# 출력 결과
# 8
# 4

3) floor : 실수를 내림하여 정수로 반환

import math
a=7.147
print(math.floor(a))
b=3.7
print(math.floor(b))

# 출력 결과
# 7
# 3

4) factorial : 1~N까지 곱한 값 반환 (N! : 팩토리얼)

import math
a=5
print(math.factorial(a))
b=3
print(math.factorial(b))

# 출력 결과
# 120
# 6

5) gnd(a, b) : a와 b의 최대공약수 반환

import math
a = 20
b = 24
print(math.gcd(a,b))

# 출력 결과
# 4

6) sqrt : 제곱근 반환

import math
a = 4
b = 121
c = 25
print(math.sqrt(a))
print(math.sqrt(b))
print(math.sqrt(c))

# 출력 결과
# 2.0
# 11.0
# 5.0

7) pow(a, b) : a의 b제곱 값 반환

import math
print(math.pow(2,3))
print(math.pow(2,5))
print(math.pow(3,2))

# 출력 결과
# 8.0
# 32.0
# 9.0

5. random

1) random : 0 이상 1 미만의 무작위 값 반환

import random
print(random.random())
print(random.random())
print(random.random())
print(random.random())
print(random.random())

# 출력 결과
# 0.789151304563551
# 0.377096725708465
# 0.4463789421422576
# 0.03214667403259963
# 0.704154756663026

2) randint(a, b) : a 이상 b 이하의 정수 중 무작위 값 반환

import random
print(random.randint(1,5))
print(random.randint(1,5))
print(random.randint(1,5))
print(random.randint(1,5))
print(random.randint(1,5))

# 출력 결과
# 1
# 3
# 5
# 3
# 5