🌟 Python 함란?
더보기
파이썬에서 **함수(Function)**란, 특정 작업을 수행하는 코드 블록을 의미합니다. 함수는 중복 코드를 줄이고, 코드의 구조를 명확하게 만들며, 재사용성을 높이기 위해 사용됩니다.
🔧 기본 함수 구조
def 함수이름(매개변수1, 매개변수2, ...):
실행할 코드
return 반환값
🌟 간단한 프로그램 1번, 계산기
더보기


# 간단한 프로그램 함수로 구현하기 1
def add(x, y):
return x + y
def subtract(x, y):
return x - y
def multiply(x, y):
return x * y
def divide(x, y):
return x / y
def texture(x, y):
return x % y
def remain(x, y):
return x // y
print("원하는 연산을 선택하세요.")
print("1. 덧셈")
print("2. 뺄셈")
print("3. 곱셈")
print("4. 나눗셈")
print("5. 몫")
print("6. 나머지")
print("0. 나가기")
while(True):
choice = input("선택 (1/2/3/4/5/6/0): ")
if choice == '0':
print('종료합니다')
break
num1 = float(input("첫 번째 숫자를 입력하세요: "))
num2 = float(input("두 번째 숫자를 입력하세요: "))
if choice == '1':
print(num1, "+", num2, "=", add(num1,num2))
elif choice == '2':
print(num1, "-", num2, "=", subtract(num1,num2))
elif choice == '3':
print(num1, "*", num2, "=", multiply(num1,num2))
elif choice == '4':
print(num1, "/", num2, "=", divide(num1,num2))
elif choice == '5':
print(num1, "%", num2, "=", texture(num1,num2))
elif choice == '6':
print(num1, "//", num2, "=", remain(num1,num2))
else:
print("잘못된 입력입니다.")
print()
#원하는 연산을 선택하세요.
#1. 덧셈
#2. 뺄셈
#3. 곱셈
#4. 나눗셈
#5. 몫
#6. 나머지
#0. 나가기
#선택 (1/2/3/4/5/6/0): 2
#첫 번째 숫자를 입력하세요: 1
#두 번째 숫자를 입력하세요: 6
#1.0 - 6.0 = -5.0
#선택 (1/2/3/4/5/6/0): 0
#종료합니다
🌟 간단한 프로그램 2번, 도형 넓이, 둘레 구하기
더보기


# 간단한 프로그램 함수로 구현하기 2
def square(a, b):
return a * b
def circle(c, d):
return c * c * d
def triangle(e, f):
return (e * f) / 2
def circumference(x, y):
return 2 * x * y
print("원하는 연산을 선택하세요.")
print("1. 사각형의 넓이")
print("2. 원의 넓이")
print("3. 삼각형의 넓이")
print("4. 원의 둘레")
print("0. 나가기")
while(True):
choice = input("선택 (1/2/3/4/0): ")
if choice == '0':
print('종료합니다')
break
elif choice == "1":
a = int(input("가로 길이: "))
b = int(input("세로 길이: "))
print(f"사각형의 넓이는: {a} × {b} = {square(a, b)}")
elif choice == "2":
c = int(input("반지름: "))
d = 3.14
print(f"원의 넓이는: {d} × {c} × {c} = {circle(c, d)}")
elif choice == "3":
e = int(input("밑변: "))
f = int(input("높이: "))
print(f"삼각형의 넓이는: 1/2 × {e} × {f} = {triangle(e, f)}")
elif choice == "4":
x = 3.14
y = int(input("반지름: "))
print(f"원의 둘레는: 2 × {x} × {y} = {circumference(x, y)}")
else:
print("잘못된 입력입니다.")
print()
#원하는 연산을 선택하세요.
#1. 사각형의 넓이
#2. 원의 넓이
#3. 삼각형의 넓이
#4. 원의 둘레
#0. 나가기
#선택 (1/2/3/4/0): 2
#반지름: 5
#원의 넓이는: 3.14 × 5 × 5 = 78.5
#선택 (1/2/3/4/0): 0
#종료합니다
🌟 간단한 프로그램 3번, 큰수, 작은수, 짝.홀수, 양.음수
더보기


# 간단한 프로그램 함수로 구현하기 3
def analyze_numbers():
nums = input("숫자들을 쉼표로 구분해서 입력하세요: ")
num_list = [int(n.strip()) for n in nums.split(",")]
print("\n[분석 결과]")
print(f"가장 큰 수: {max(num_list)}")
print(f"가장 작은 수: {min(num_list)}")
for n in num_list:
parity = "짝수" if n % 2 == 0 else "홀수"
sign = "양수" if n > 0 else ("0" if n == 0 else "음수")
print(f"{n}: {parity}, {sign}")
# 실행
analyze_numbers()
#숫자들을 쉼표로 구분해서 입력하세요: 10,11,101,100
#[분석 결과]
#가장 큰 수: 101
#가장 작은 수: 10
#10: 짝수, 양수
#11: 홀수, 양수
#101: 홀수, 양수
#100: 짝수, 양수
🌟 간단한 프로그램 4번, 세 수의 합
더보기


# 간단한 프로그램 함수로 구현하기 4
def add(a, b, c):
return a+b+c
def add1(a, b):
return a + b
def add2(a, c):
return a + c
def add3(b, c):
return b + c
print("a, b, c 중 원하는 연산을 선택하세요.")
print("1. a+b+c의 합")
print("2. a+b의 합")
print("3. a+c의 합")
print("4. b+c의 합")
print("0. 나가기")
while(True):
choice = input("선택 (1/2/3/4/0): ")
if choice == '0':
print('종료합니다')
break
elif choice == "1":
a = int(input("첫 번째 숫자를 입력하세요: "))
b = int(input("두 번째 숫자를 입력하세요: "))
c = int(input("두 번째 숫자를 입력하세요: "))
print(f"a+b+c의 합은: {a} + {b} + {c} = {add(a, b, c)}")
elif choice == "2":
a = int(input("첫 번째 숫자를 입력하세요: "))
b = int(input("두 번째 숫자를 입력하세요: "))
print(f"a+b의 합은: {a} + {b} = {add1(a, b)}")
elif choice == "3":
a = int(input("첫 번째 숫자를 입력하세요: "))
c = int(input("두 번째 숫자를 입력하세요: "))
print(f"a+b의 합은: {a} + {c} = {add2(a, c)}")
elif choice == "4":
b = int(input("첫 번째 숫자를 입력하세요: "))
c = int(input("두 번째 숫자를 입력하세요: "))
print(f"a+b의 합은: {a} + {b} = {add3(b, c)}")
else:
print("잘못된 입력입니다.")
print()
#a, b, c 중 원하는 연산을 선택하세요.
#1. a+b+c의 합
#2. a+b의 합
#3. a+c의 합
#4. b+c의 합
#0. 나가기
#선택 (1/2/3/4/0): 1
#첫 번째 숫자를 입력하세요: 5
#두 번째 숫자를 입력하세요: 4
#두 번째 숫자를 입력하세요: 3
#a+b+c의 합은: 5 + 4 + 3 = 12
#선택 (1/2/3/4/0): 0
#종료합니다
🌟 간단한 프로그램 5번, 별 찍기
더보기
# 간단한 프로그램 함수로 구현하기 5
def draw_shape(shape_num):
if shape_num == 1:
for i in range(7):
print('*' * i)
elif shape_num == 2:
for i in range(6):
print(' ' * (6 - i) + '*' * i)
elif shape_num == 3:
for i in range(6, 0, -1):
print('*' * i)
elif shape_num == 4:
for i in range(6, 0, -1):
print(' ' * (6 - i) + '*' * i)
elif shape_num == 5:
for i in range(1, 7):
print(' ' * (6 - i) + '*' * (2 * i - 1))
elif shape_num == 6:
for i in range(6, 0, -1):
print(' ' * (6 - i) + '*' * (2 * i - 1))
elif shape_num == 7:
for i in range(3): # 위쪽 삼각형
print(' ' * (2 - i) + '*' * (i * 2 + 1))
for i in range(3): # 아래쪽 역삼각형
print(' ' * i + '*' * (5 - 2 * i))
else:
print("1에서 7 사이의 숫자를 입력하세요.")
a = int(input("도형 번호 입력 (1~7): "))
draw_shape(a)
#도형 번호 입력 (1~7): 7
# *
# ***
#*****
#*****
# ***
# *
🌟 간단한 프로그램 6번, 달력
더보기


# 간단한 프로그램 함수로 구현하기 6
def yearLeap(year):
return year % 4 == 0 and year % 100 != 0 and year % 400 == 0
def lastDay(year, month):
m = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
m[1] = 29 if yearLeap(year) else 28
return m[month - 1]
def totalDay(year, month, day):
total = (year - 1) * 365 + (year - 1) // 4 - (year - 1) // 100 + (year - 1) // 400
for i in range(1, month):
total += lastDay(year, i)
return total + day
def weekDay(year, month, day):
return totalDay(year, month, day) % 7
year, month = map(int, input('년, 월을 입력하세요 >> ').split())
print(f"입력하신 날짜는 {year}년 {month}월 입니다.")
print('=' * 29)
print(' {0:4d}년{1:2d}월'.format(year, month))
print('=' * 29)
print(' Sun Mon Tue Wed Thu Fri Sat')
print('=' * 29)
for i in range(weekDay(year, month, 1)):
print(' ', end=' ')
for i in range(1, lastDay(year, month)+1):
print(' {0:2d} '.format(i), end='')
if weekDay(year, month, i) == 6 and i != lastDay(year, month):
print()
print('\n' + '=' * 29)
#년, 월을 입력하세요 >> 2025 2
#입력하신 날짜는 2025년 2월 입니다.
#=============================
# 2025년 2월
#=============================
# Sun Mon Tue Wed Thu Fri Sat
#=============================
# 1
# 2 3 4 5 6 7 8
# 9 10 11 12 13 14 15
# 16 17 18 19 20 21 22
# 23 24 25 26 27 28
#=============================
'Python > Task' 카테고리의 다른 글
5/23_Python For문 (0) | 2025.05.23 |
---|---|
5/19_Python 선택구조 (0) | 2025.05.19 |
5/14_Python 순차구조 (0) | 2025.05.14 |