250929 TIL
2025. 9. 29. 16:40ㆍCourses/아이티윌 오라클 DBA 과정
복습 Quiz
#문제1) 임의의 정수가 짝수(2의 배수)인지 확인하시오
def isEven(num) :
print('isEven(%d) : %s' % (num, num % 2 == 0))
isEven(2) # True
isEven(1) # False
#문제2) 임의의 정수가 3의 배수인지 확인하시오
def isMultipleOf3(num) :
print('isMultipleOf3(%d) : %s' % (num, num % 3 == 0))
isMultipleOf3(6) # True
isMultipleOf3(7) # False
#문제3) 해당 년도가 윤년인지 확인하시오
def isLeapYear(year):
print('isLeapYear(%d) : %s' % (year, (year % 4 == 0 and year % 100 != 0) or year % 400 == 0))
isLeapYear(2025) # False
isLeapYear(2024) # True
#문제4) 지폐의 갯수를 구하시오
"""
만원 5장
천원 4장
백원 3장
십원 2장
"""
def countMoney(money):
won_10000 = money // 10000
print("만원 %d장" % won_10000)
money %= 10000
won_1000 = money // 1000
print("천원 {}장".format(won_1000))
money %= 1000
won_100 = money // 100
print("백원 {0}장".format(won_100))
money %= 100
won_10 = money // 10
print("십원 {num}장".format(num=won_10))
countMoney(54320)
#문제5) 임의의 정수가 2의 배수이면서 5의 배수인지 확인하시오
def isMultipleOf2And5(num) :
print('isMultipleOf2And5(%d) : %s' % (num, num % 2 == 0 and num % 5 == 0))
isMultipleOf2And5(10) # True
isMultipleOf2And5(6) # False
#문제6) 임의의 정수가 1이거나 3인지 확인하시오.
def is1Or3(num) :
print('is1Or3(%d) : %s' % (num, num == 1 or num == 3))
is1Or3(1) # True
is1Or3(3) # True
is1Or3(2) # False
#문제7) 국어 점수가 80 ~ 89점 사이인지 확인하시오.
def isKorbetween80and89(kor) :
print('isKorbetween80and89(%d) : %s' % (kor, 80 <= kor and kor <= 89))
isKorbetween80and89(85) # True
isKorbetween80and89(50) # False
자료형
# Data Type(자료형) 조회
print(type(123)) # <class 'int'> 정수형
print(type(4.5)) # <class 'float'> 실수형
print(type('Hello')) # <class 'str'> 문자형
print(type(True)) # <class 'bool'> 논리형
print(type([1, 3, 5])) # <class 'list'> 리스트
print(type((2, 4, 6))) # <class 'tuple'> 튜플
print(type({"name":"ITWILL"})) # <class 'dict'> 딕셔너리
############################################################
# Datatype Conversion 형 변환
# -> 형식: 자료형(값)
x = 3
y = 4.5
z = float(x)
w = int(y)
print(x, type(x))
print(y, type(y))
print(z, type(z))
print(w, type(w))
############################################################
# == 과 is 연산의 차이
i = 100 # 정수형
j = 100.0 # 실수형
# 단순히 값만 비교하므로 두 값이 같다고 판단
print(i == j) # True
# 값의 종류(데이터타입)까지 비교하므로
# -> 정수와 실수는 다르다고 판단
print(i is j) # False
조건문
# 제어문 : 프로그램의 흐름을 제어
# -> 조건문과 반복문
"""
- 파이썬의 코딩블럭
코딩블럭을 표시하기 위해 들여쓰기(Identation)을 사용
일반적으로 들여쓰기에는 4개의 공백을 사용할 것을 권장
동일한 블럭의 들여쓰기는 모두 동일한 수의 공백을 사용해야 함
주의할 점은 공백과 탭을 혼용해서 사용하지 말아야 함
"""
"""
- if 조건문의 형식
if 조건: 조건이 True일때 처리명령어
if 조건:
조건이 True일때 처리명령어
else:
조건이 False일때 처리명령어
if 조건1:
조건1이 True일때 처리명령어
elif 조건2:
조건2가 True일때 처리명령어
elif 조건3:
조건3이 True일때 처리명령어
else:
조건이 False일때 처리명령어
"""
#문제1) 절대값을 구하시오 (무조건 양수)
abs = -3
if abs > 0:
print(f"{abs} -> {abs}")
else :
print(f"{abs} -> {-abs}")
#문제2) 임의의 값이 양수, 음수, 제로를 출력하시오
num = 0
if num > 0:
print(f"{num} : 양수")
elif num == 0:
print(f"{num} : 제로")
elif num < 0:
print(f"{num} : 음수")
#문제3) 세개의 수중에서 최대값을 출력하시오
a = -2
b = -8
c = -9
max = 0
if a > b:
max = a
if max < c:
max = c
else:
max = b
if max < c:
max = c
print(f"max : {max}")
#문제4) 성별코드에 따라 나이와 성별을 출력하시오
myYear = 10
myCode = 4
if myCode < 3:
age = 2025 - (1900 + myYear)
if myCode % 2 == 0:
print(f"age : {age}, gender : female")
else:
print(f"age : {age}, gender : male")
else:
age = 2025 - (2000 + myYear)
if myCode % 2 == 0:
print(f"age : {age}, gender : female")
else:
print(f"age : {age}, gender : male")
Math 모듈
# math 함수 : 수학 관련
# 모듈 : 파이썬 코드를 논리적으로 묶어서 관리하고 사용할 수 있도록 하는 것
# 패키지 : 모듈들을 모은 컬렉션
## 1) import 하지 않고 사용할 수 있는 내장 함수
x = min(1, 2, 3, 4, 5) # 최소값
y = max(1, 2, 3, 4, 5) # 최대값
print(x) # 1
print(y) # 5
x = abs(3) # 절대값
y = abs(-3)
print(x) # 3
print(y) # 3
x = pow(2, 4) # 2의 4승
print(x) # 16
# round는 소수점을 반올림한 값을 리턴
print(round(123.456, 2)) # 123.46
print(round(123.453, 2)) # 123.45
## 2) math 모듈
import math # 모듈 선언
print(math.pi) # 3.141592653589793
# 소수점 올림
x = math.ceil(2.2) # 3
y = math.ceil(3.5) # 4
print(x)
print(y)
# 소수점 버림
x = math.floor(2.2) # 2
y = math.floor(3.5) # 3
print(x)
print(y)
from math import ceil, floor
# math 모듈명 생략 가능
print(ceil(2.1))
print(floor(2.1))
조건문 Quiz
# 성적 프로그램
name = "손흥민"
kor = 100
eng = 100
mat = 35
avg = (kor + eng + mat) // 3
print(f"이름: {name}")
print(f"국어: {kor}")
print(f"영어: {eng}")
print(f"수학: {mat}")
print(f"평균: {avg}")
#문제1) 평균이 95점 이상이면 장학생 출력
if avg >= 95:
print("장학생")
#문제2) 국어점수가 70점 이상이면 국어:합격 아니면 국어:불합격
if kor >= 70:
print("국어: 합격")
else:
print("국어: 불합격")
#문제3) 수학점수 90점 이상이면 수학:A학점
# 80점 이상이면 수학:B학점
# 70점 이상이면 수학:C학점
# 60점 이상이면 수학:D학점
# 아니면 수학:F학점
if mat >= 90:
print("수학: A학점")
elif mat >= 80:
print("수학: B학점")
elif mat >= 70:
print("수학: C학점")
elif mat >= 60:
print("수학: D학점")
else:
print("수학: F학점")
#문제4) 과락
# 평균이 70점이상이면 결과:합격
# (단, 국영수 세과목 중에서 한과목이라도 40점미만이면 결과:재시험)
# 평균이 70점미만이면 결과:불합격
if avg >= 70:
if kor >= 40 and eng >= 40 and mat >= 40:
print("결과: 합격")
else:
print("결과: 재시험")
else:
print("결과: 불합격")
"""
결과
이름: 손흥민
국어: 100
영어: 100
수학: 35
평균: 78
국어: 합격
수학: F학점
결과: 재시험
"""
반복문
For문
# 반복문 : forans, while문
# break문, continue문
# 무한 Loop => 끝이 없는 반복
"""
for 변수 in range(시작값, 종료값-1, 증감) :
반복할 처리식
"""
# a는 0 ~ 4까지 5번 반복
for a in range(5):
print(a)
print("Python")
# b는 1 ~ 4까지 4번 반복
for b in range(1, 5):
print(b)
print("ITWILL")
# c는 1부터 4까지 2씩 증가
for c in range(1, 5, 2):
print(c)
print("KOREA")
# 4단
dan = 4
for i in range(1, 10):
print(f"{dan} * {i} = {dan * i}")
While문
# 반복문
"""
while 조건:
조건이 True이면 처리
조건이 True이면 처리
조건이 True이면 처리
"""
# 증가에 따른 반복
i = 1
while i <= 3:
print("Python")
i = i + 1
# 감소에 따른 반복
j = 3
while j >= 1:
print("ITWILL")
j = j - 1
# 4단
dan = 4
i = 1
while i <= 9:
print(f"{dan} * {i} = {dan*i}")
i = i + 1
Break문
# break 문
# -> 반복문 안에서 루프를 빠져나오기 위해
a = 1
while a < 10:
if a == 5: break
print(a)
a = a + 1
"""
1
2
3
"""
Continue문
# continue 문
# -> 루프 블럭의 나머지 문장들을 실행하지 않고
# -> 다음 루프로 직접 돌아가게 할 수 있다
b = 1
while b < 10:
b = b + 1
if b == 5: continue
print(b)
"""
2
3
4
6
7
8
9
10
"""
이중 반복문
# 이중 반복문
for a in range(3):
print("KOREA")
for b in range(2):
print("SEOUL")
"""
KOREA
SEOUL
SEOUL
KOREA
SEOUL
SEOUL
KOREA
SEOUL
SEOUL
"""
a = 1
while a <= 2:
print("Python")
a = a + 1
b = 1
while b <= 3:
print("JAVA")
b = b + 1
"""
Python
JAVA
JAVA
JAVA
Python
JAVA
JAVA
JAVA
"""
# 2단 ~ 9단 출력하시오
for dan in range(2, 10):
print(f"==== {dan}단 ====")
for i in range(1, 10):
print(f"{dan} * {i} = {dan * i}")
"""
==== 2단 ====
2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
2 * 4 = 8
2 * 5 = 10
2 * 6 = 12
2 * 7 = 14
2 * 8 = 16
2 * 9 = 18
```
==== 9단 ====
9 * 1 = 9
9 * 2 = 18
9 * 3 = 27
9 * 4 = 36
9 * 5 = 45
9 * 6 = 54
9 * 7 = 63
9 * 8 = 72
9 * 9 = 81
"""
반복문 Quiz
# 문제1) 1 ~ 3 사이의 합을 구하시오
sum = 0
for i in range(1, 4):
sum += i
print(sum) # 6
# 문제2) 4팩토리얼 값을 구하시오(누적의 곱)
fac = 1
for i in range(1, 5):
fac *= i
print(fac) # 24
# 문자3) 두 수 사이의 수를 전부 더하시오
a = 10
b = 1
sum = 0
# 만일, 앞의 수가 뒤의 수보다 크면 두 변수의 값을 서로 교환(swap)
"""
if a > b:
tmp = a
a = b
b = tmp
"""
if a > b:
a, b = b, a
for i in range(a, b + 1):
sum += i
print(sum) # 55
'Courses > 아이티윌 오라클 DBA 과정' 카테고리의 다른 글
| 251010 TIL (0) | 2025.10.10 |
|---|---|
| 251002 TIL (0) | 2025.10.02 |
| 251001 TIL (0) | 2025.10.01 |
| 250930 TIL (0) | 2025.09.30 |
| 250926 TIL (0) | 2025.09.26 |