함수를 정의하고 내용을 입력하지 않으면 에러가 난다.

돌아가는지 확인해보고싶으면 pass를 쓰면 넘어간다.


(함수 내용이 없는 경우 에러)


(pass를 적으면 에러없이 넘어간다.)


* 파이썬에서의 함수
1. 입력된 문자열이 실수로 이루어져있는지를 판단하는 함수

def isfloat( data ):

입력 : 임의의 문자열
출력 : True of False
           - 실수로 변경가능한 문자열이라면 True
           - 그렇지 않으면 False

2. 입력된 문자열이 음수로 이루어져있는지를 판단하는 함수

def isneg( data ):

입력 : 임의의 문자열
출력 : True of False
         - 음수로 변경가능한 문자열이라면 True
         - 그렇지 않으면 False


(함수 코드)


(결과)


*라이브러리 : 이미 만들어져있는 함수이다.

* 파이썬 모듈
 - 파이썬 코드로 이루어진 파이썬 파일
 - 사용하고싶은 함수들을 하나의 파일에 만들어 두는 것이다.
   그 후 사용하고 싶으면 import한다.


 - 어디서나 import 하고 싶으면
 -> 파이썬3의 라이브러리 파일들의 경로가 따로 있다. 이 곳에 넣어둬야한다.


(내가 만든 모듈을 라이브러리에 추가한 모습)


import 방법
import 파일
from 파일 import *      -> 이렇게 적으면 모듈 이름을 안적어도 된다.
from 파일 import 특정함수    -> 특정 함수만 import할 수 있다.

왠만하면 import 파일   형식으로 하는게 좋다.
왜냐하면 두세번째로 하다가 함수 이름이 겹칠 가능성이 있을 수 있어서 그렇다.
두세번째는 편하기는 하지만 충동할 수 있다는걸 주의하고 해야한다.
보통 모듈파일에는 실행코드는 적지 않는다.
실행코드가 있다면 import 되는 순간 파일이 실행된다.

만약 모듈을 만들고
이 모듈이 잘 돌아가는지 테스트코드를 넣어볼 수 있다.

만약 실행코드를 안삭제하고 import하고 실행시키면
import 될때 모듈파일의 테스트코드가 실행된다.
만약 지우지않고 쓰고싶다면
if __name_- == "__main__":
    main()
이코드를 넣으면 이 해당파일이 단독으로 실행되면 실행되지만
import되는 경우에는 코드가 실행되지 않는다.
-> 단독으로 실행하는 경우 실행코드들이 실행되고
   import되는 경우에는 실행되지 않는다.



(모듈 파일에 테스트코드를 추가한 모습)



(모듈을 import 한 순간 테스트코드가 실행되는 모습)



(__name__ 을 모듈에 추가해서 실행시 테스트코드가 실행되지 않는 모습)



* 프로그램 작성

1) 안전한 제곱근을 구하는 함수

math 모듈에 sqrt() 함수로 제곱근을 구할 수 있다.
 - 숫자가 아니거나 음수가 입력되면 에러가된다.
 
알고리즘
1. 사용자로부터 값을 입력받는다.
 
 - 입력값의 형태는 실수여야 한다.

2. safe_sqrt 함수 인자로 입력값 전달
 3. 입력된 값이 허용범위의 값인지 판별 허용범위라면 실수로 변환 후에
    sqrt 함수를 이용해서 제곱근을 구한 후 출력
 4. 허용된 입력값의 범위가 아니라면 다시 입력받을 수 있도록 한다. 
 5. 3번으로 돌아간다.


(만들어본 코드(좌), 실행화면(우))


2)  대출 상환금 계산 프로그램

- 입력 :
 대출 원금
 대출 기간
 대출 이율

- 출력 :
 연상환금
 월상환금
 총상환금

- 연상환금 계산 공식

                   (1 + 대출 이율)^대출 기간 + 대출 원금 + 대출 이율
연상환금 = ---------------------------------------------------------------
                                  (1 + 대출 이율)^대출기간 - 1

1) 대출 원금과 대출 기간, 대출 이율을 각각 입력 받는다.
 - 대출원금과 대출 기간은 자연수의 입력만 허용하며 대출 이율은 실수 입력만 허용할 수 있도록 한다.
2) 입력값에 맞춰서 연상환금을 계산한다.
3) 연상환금과 월상환금, 총상환금을 출력
4) 프로그램을 계속 진행할 것인지를 입력받는다.
 a-1) "yes"를 입력한 경우 1)번으로 돌아가서
       대출 원금과 대출 기간, 대출 이율을 새로 입력
 b-2) no 를 입력한 경우 프로그램 종료
 4-3) yes no 이외의 값이면 새로 입력을 받는다.
* 소수점이하를 버리고 싶으면 int 형으로 형변환 하면한다.
* 반올림 하고 싶으면 round 함수를 이용하여 형변환한다.



(소수점 그대로 출력)



(소수점까지 출력되는 모습)




(작성해본 코드, 결과를 int형으로 형변환 한 모습 : 소수점 자리 버리는 모습)




(소수점 자리 버림 모습)












+ Recent posts