본문 바로가기
코리아 IT아카데미/python

7일차 수업 | 사용자 함수~모듈

by Sharon kim 2021. 10. 4.

functionEx.py

# 함수(function)
# def 함수명(매개변수):
# 함수 동작 소스코드
# return 반환데이터

def welcome():
    print('Hello python')
    print('Nice to meet you')

welcome()
welcome()
welcome()
welcome()
welcome()



def make(material, count):
    bingsu = material + '빙수 '
    print(bingsu)
    return bingsu + str(count) + '인분'

print(make('딸기', 10))
print(make('인절미', 50))

#가변매개변수
def show(*args):
    print(type(args))
    for item in args:
        print(item)

show('python')
show('python', 'java','c')
show('python', 'java','c',10)

#디폴트(기본값) 매개변수
def greet(message='안녕하세요'):
    print(message)

greet('반갑습니다.')
greet()

def greet2(name, message2='안녕하세요'):
    print(f'{name}님 {message2}')

greet2('김철수', '반갑습니다.')

def adder(*num):
    print(f'{num}의 합은 {sum(num)}입니다.')
                         #함수 안에서 sum()내장함수를 호출할 수 있다.
adder(1,2,3,4,5,6,7,8,9,10)

#다중 반환
def calculator(*args):
    return sum(args), sum(args)/len(args),max(args),min(args)
# return의 반환 개수가 4개면 return 부분도 4개여야한다.
a,b,c,d = calculator(1,2,3,4,5)
e,f,g,h = calculator(1,2,3,4,5)
print('다중 반환')
print(a)
print(b)
print(c)
print(d)
print('=======')
print(e)
print(f)
print(g)
print(type(calculator(1,2,3,4,5)))
result = calculator(5,6,7,8,9)
print(result)
print(result[0])
print(result[1])
print(result[2])
print(result[3])

# p. 194

def charge(energy):
    if energy < 0 :
        print('0보다 작은 에너지는 충전할 수 없습니다.')
        return
    elif energy == 0:
        print('배터리 충전이 필요합니다.')
        return
    print(f'{energy}% 충전')

charge(10)
charge(-1)
charge(0)

practice11-1.py

# def vending_machine(money):
#     count = money // 700
#     i = 0
#     while i <= count:
#         charges = money -(i*700)
#         print(f'음료수 = {i}개, 잔돈 = {charges}원')
#         i+=1
# pay = int(input('금액을 입력해 주세요>>>'))
# vending_machine(pay)

def vending_machine(money):
    count = money // 700
    i = 0
    while i <= count:
        print(f'음료수 = {i}개, 잔돈= {money-(i*700)}원')
        i+=1

pay = int(input('금액을 입력해 주세요>>>'))
vending_machine(pay)

practice11-2.py

marks = {'국어' : 90, '영어': 80, '수학':70, '사회':60, '과학':50}

def get_average(marks):
    # avg = sum(marks.values())/len(marks)
    avg = 0
    for m in marks:
       avg += marks[m]
    return avg / len(marks)

average = get_average(marks)
print(f'평균은 {average}점입니다.')

practice11-3.py

wedding = {}
total = 0

wedding['준일']= 10000
print(wedding)

def gift(dic, who, money):

    dic[who] = money
    return sum(dic.values())

gift(wedding, '영희', 50000)
gift(wedding, '철수', 30000)
gift(wedding, '이모', 100000)
gift(wedding, '삼촌', 200000)

print(f'축의금 명단:{wedding}')
print(f'전체 축의금 합계:{total}')

converter.py

MILES = 0.621371
POUND = 0.00220462
def kilometer_to_mailes(kilometer):
    return kilometer*MILES

def gram_to_pounds(gram):
    return gram*POUND

module1.py

import converter

miles = converter.kilometer_to_mailes(150)
print(f'150km = {miles}miles')

pounds = converter.gram_to_pounds(1000)
print(f'1000gram = {pounds}pounds')

module2.py

from converter import kilometer_to_mailes, gram_to_pounds

miles = kilometer_to_mailes(150)
print(f'150km = {miles}miles')

module3.py

import converter as cvt
#as(ALIAS) 알리아스 : 별칭

miles = cvt.kilometer_to_mailes(150)
print(f'150km = {miles}miles')

pounds = cvt.gram_to_pounds(1000)
print(f'1000gram = {pounds}pounds')

module4.py

import math
import random
#p.210

print(math.pi)
print(math.ceil(1.5)) # 올림
print(math.floor(1.9)) # 내림

print(random.randint(1, 10)) # 1~10 중 랜덤
print(random.randrange(1,10))
print(random.random())

p.218까지함
다음 시간 class
파일 입출력 건너뜀

'코리아 IT아카데미 > python' 카테고리의 다른 글

8일차 수업 | class  (0) 2021.10.04
응용예제 | section6, 7  (0) 2021.09.28
응용예제 | ~section5.  (0) 2021.09.27
6일차 수업 | break, continue, 내장 함수  (0) 2021.09.27
5일차 수업 | while과 for 응용예제  (0) 2021.09.25