2011년 11월 10일 목요일

12 함수 사용법

함수는 실행하고자 하는 명령들의 모음에 이름을 붙이고, 이 이름을 불러, 그 모아놓은 명령들을 실행 하도록 하며, 또 그 결과 값을 임의의 변수에 할당할 수 있는 편리한 기능으로서, 복잡한 프로그래밍에 유용합니다. 

함수를 사용하려면 먼저 함수 이름을 def 키워드로 정해주어야 합니다. 보통 프로그램 앞쪽에 코딩합니다. 간단한 함수 예제는 다음과 같습니다.


def removeComma(myValue) :
    r = myValue.replace(',','')
    r = int(r)
    return r
def calculateTax(price, tax_rate) :
    taxTotal = price + (price * (tax_rate/100))
    return taxTotal
g = input('휘발류 값 : ')
g = removeComma(g)
print(g)
a = int(input('가격 : '))
b = int(input('부가세(%) : '))
s = int(calculateTax(a,b))
print('총 지불액은', s, '원입니다.')


함수에서 처리한 결과 값을 다시 가져다 활용하려면, 반드시 변수에 할당해 주어야 합니다(g = removeComma(g)). IDLE에서 실행 결과 화면은 다음과 같습니다.



>>>
휘발류 값 : 1,999
1999
가격 : 200000
부가세(%) : 10
총 지불액은 220000 원입니다.

>>> type(g)
<class 'int'>

11 천단위 구분 쉼표 처리법

* 값을 입력할 때 천단위 구분 쉼표를 넣었을 경우 처리하는 방법입니다.

>>> g = input('휘발류 값 : ')
휘발류 값 : 2,100
>>> g
'2,100'
>>> g = g.replace(',', '')
>>> g
'2100'
>>> g = int(g)
>>> g
2100



* 계산 결과를 보여줄 때, 천단위 구분 쉼표를 넣어주는 방법입니다.

>>> a = 989
>>> b = 997
>>> c = a * b
>>> c
986033
>>> c = format(c, ',')
>>> c
'986,033'
>>> print('가격은 ', c, '원 입니다.')
가격은  986,033 원 입니다.

2011년 11월 9일 수요일

10 자동차 운행 거리와 연료 알아보기

print('종료하려면 연료통(리터)에 숫자 1을 입력하세요.')
g = 0
while g != 1 :
    g = int(input('연료통(리터) : '))
    if g == 1 :
        print('프로그램을 종료합니다!')
    else :
        p = int(input('남은 연료량(%) : '))
        l = int(input('연비(Km) : '))
        d = int(input('남은 거리(Km) : '))
        a = int(g * (p/100)) # 남은 연료(리터)
        b = int(d / l) # 남은 거리에 필요한 연료(리터)
        c = int(a * l) # 갈 수 있는 거리(Km)
        if a >= b :
            print('목적지까지 갈 수 있습니다!')
            print('갈 수 있는 거리는 ', c, 'Km이며, ', '남은 연료는 ', a, '리터입니다.' + '\n')
        else :

            print('목적지까지 갈 수 없습니다! 빨리 연료를 넣어야 합니다.')
            print('갈 수 있는 거리는 ', c, 'Km이며, ', '남은 연료는 ', a, '리터입니다.' + '\n')
print('이용해 주셔서 감사합니다~')


>>>
종료하려면 연료통(리터)에 숫자 1을 입력하세요.
연료통(리터) : 80
남은 연료량(%) : 20
연비(Km) : 10
남은 거리(Km) : 150
목적지까지 갈 수 있습니다!
갈 수 있는 거리는  160 Km이며,  남은 연료는  16 리터입니다.


연료통(리터) : 1
프로그램을 종료합니다!
이용해 주셔서 감사합니다~

09 회원 가입 여부 판명 하기

print('종료하려면 알파벳 q를 입력하세요.')

print('성별은 남자는 m 여자는 f로 입력해 주세요~')

s = 'q'

while g != s :

    g = input('성별(m 또는 f로 입력해 주세요) : ')

    if g == 'f' :

        print('당신의 성별은 여자입니다. 나이를 입력해 주세요~')

        a = int(input('나이 : '))

        if 13 > a > 9 :

            print('현재 나이는 ', a, '세 입니다.' + '\n' + '가입할 수 있습니다!' + '\n')

        else :

            print('죄송하지만, 가입할 수 없는 나이입니다...' + '\n')

    elif g == 'q' :

        print('프로그램을 종료합니다...')

    else :

        print('죄송합니다. 남자는 가입할 수 없습니다...' + '\n')

g = 'z' 

print('이용해 주셔서 감사합니다~')


>>>

종료하려면 알파벳 q를 입력하세요.

성별은 남자는 m 여자는 f로 입력해 주세요~

성별(m 또는 f로 입력해 주세요) : m

죄송합니다. 남자는 가입할 수 없습니다...



성별(m 또는 f로 입력해 주세요) : f

당신의 성별은 여자입니다. 나이를 입력해 주세요~

나이 : 13

죄송하지만, 가입할 수 없는 나이입니다...



성별(m 또는 f로 입력해 주세요) : f

당신의 성별은 여자입니다. 나이를 입력해 주세요~

나이 : 12

현재 나이는  12 세 입니다.

가입할 수 있습니다!



성별(m 또는 f로 입력해 주세요) : q

프로그램을 종료합니다...

이용해 주셔서 감사합니다~


이 글은 스프링노트에서 작성되었습니다.

08 할인 가격 표시 하기

print('종료하려면 숫자 1을 입력하세요.')

n = 1

while p != n :

    p = int(input('가격 : '))

    if 20000 > p >= 10000 :

        print('10% 할인합니다!')

        f = int(p - (p * 0.1))

        print('할인 가격 : ', f, '\n')

    elif p >= 20000 :

        print('20% 할인합니다!')

        f = int(p - (p * 0.2))

        print('할인 가격 : ', f, '\n')

    elif 10000 > p >= 2 :

        print('할인 품목이 아닙니다!')

        print('가격 : ', p, '\n')

p = 0

print('이용해 주셔서 감사합니다~')




>>>

종료하려면 숫자 1을 입력하세요.

가격 : 2

할인 품목이 아닙니다!

가격 :  2



가격 : 9000

할인 품목이 아닙니다!

가격 :  9000



가격 : 90000

20% 할인합니다!

할인 가격 :  72000



가격 : 1

이용해 주셔서 감사합니다~


이 글은 스프링노트에서 작성되었습니다.

07 알파벳 맞추기

a = 'a'

print('종료하고 싶을 때 어떤 알파벳을 입력해야 할까요? 알아 맞추어 보세요.')

while a != 'q' and a != 'Q' :

    a = input('알파벳을 입력하세요 : ')

    if a == 'q' or a == 'Q' :

        print('맞추었습니다. 축하합니다!')

    else :

        print('다른 알파벳을 입력하세요!')

print('이만 종료합니다~')



>>>

종료하고 싶을 때 어떤 알파벳을 입력해야 할까요? 알아 맞추어 보세요.

알파벳을 입력하세요 : x

다른 알파벳을 입력하세요!

알파벳을 입력하세요 : Q

맞추었습니다. 축하합니다!

이만 종료합니다~

06 오늘의 영단어 5개 암기 하기

* 먼저 easygui를 설치하여야 합니다.


* 다음 프로그래밍은 파이썬 2.7에서 작성하였습니다.


 


import easygui



e = easygui.enterbox('영단어 : ')


k = easygui.enterbox('뜻 : ')

s = easygui.enterbox('예제 : ')



eks = e + '\n' + k + '\n' + s + '\n' + '\n'




easygui.msgbox(eks, '오늘의 영단어')




e1 = easygui.enterbox('영단어 : ')


k1 = easygui.enterbox('뜻 : ')

s1 = easygui.enterbox('예제 : ')



eks1 = e1 + '\n' + k1 + '\n' + s1 + '\n' + '\n'




easygui.msgbox(eks + eks1, '오늘의 영단어')




e2 = easygui.enterbox('영단어 : ')


k2 = easygui.enterbox('뜻 : ')

s2 = easygui.enterbox('예제 : ')



eks2 = e2 + '\n' + k2 + '\n' + s2 + '\n' + '\n'




easygui.msgbox(eks + eks1 + eks2, '오늘의 영단어')




e3 = easygui.enterbox('영단어 : ')


k3 = easygui.enterbox('뜻 : ')

s3 = easygui.enterbox('예제 : ')



eks3 = e3 + '\n' + k3 + '\n' + s3 + '\n' + '\n'




easygui.msgbox(eks + eks1 + eks2 + eks3, '오늘의 영단어')




e4 = easygui.enterbox('영단어 : ')


k4 = easygui.enterbox('뜻 : ')

s4 = easygui.enterbox('예제 : ')



eks4 = e4 + '\n' + k4 + '\n' + s4 + '\n' + '\n'




easygui.msgbox(eks + eks1 + eks2 + eks3 + eks4, '오늘의 영단어')


이 글은 스프링노트에서 작성되었습니다.