5/27_Python 함수

2025. 5. 27. 21:32·Python/Task

 

 

 

 

 

 

 

 

🌟 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
'Python/Task' 카테고리의 다른 글
  • 5/23_Python For문
  • 5/19_Python 선택구조
  • 5/14_Python 순차구조
eull
eull
eull 님의 블로그 입니다.
  • eull
    eull 님의 블로그
    eull
  • 전체
    오늘
    어제
    • 개발 환경 (34)
      • Qt (2)
        • API (0)
        • Project (2)
      • MYSQL_Workbench (1)
        • setting (1)
      • Linux_Ubuntu (2)
        • Task (1)
        • Setting (1)
      • C (19)
        • Concept (4)
        • Task (8)
        • Project (1)
        • Study (5)
        • Setting (1)
      • C++ (1)
        • Study (0)
        • Concept (1)
      • Python (6)
        • Task (4)
        • Project (2)
      • 일상 (1)
      • Setting (1)
      • 홍보 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    #광주인력개발원#대한상공회의소#상공회의소#인력개발원#청년#일경험#ESG#청년일경험 #오텍캐리어#수당100만원#광주#구직단념#그린#Green#취준생#이력서#취업준비#취업맛집 #취업우수기관#국비교육#대학생#ESG지원형
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
eull
5/27_Python 함수
상단으로

티스토리툴바