본문 바로가기
프로그래밍/PYTHON

[6일차] python while / if을 통한 검증 (안전한 프로그램)

by B T Y 2017. 2. 15.
반응형

python while / if 에 대해서 정리해본다

 

 

프로그램을 만들때는 사용자가 어떻게 입력할지 알수 없기 때문에

모든 상황을 고려해서 최대한 안전한 프로그램을 만들어주어야 한다

 

그러기 위해서는 검증을 해주어야 하는데 그럴때 while과 if를 사용한다

 

 

 

 

 

 

※ 안전한 프로그램

 

 

 

- 입력값 검증

( 입력값 검증을 통해서 프로그램에서 예외의 상황이 발생할때

안전하게 프로그램을 종료할수 있게 해준다 )

 

 

 

 

 

 

( 입력 값을 검증해주는 함수를 통해서 입력값을 검증 해줄수 있다 )

 

 

 

 * 입력값 검증 함수

 

 

1). s.isalpha() : 문자열이 영어(한글)로만 이루어져 있으면 참, 아니면 거짓

2). s.isdigit() : 문자열이 숫자로만 이루어져 있으면 참, 아니면 거짓

3). s.isdecimal() : 문자열이 숫자로만 이루어져 있으면 참, 아니면 거짓

4). s.isalnum() : 문자열이 영어(한글)/숫자로만 이루어져 있으면 참, 아니면 거짓

 

 

 

 

- 문법들을 통해서 입력값을 검증 할수 있다

 

 

반복문

1). while 논리 표현식:

statement1

statement2

...

 

 

 

분기문

2). if 논리 표현식:

statement1

statement2

...

 

 

 

* 두 문법에 공통점이라고 할수 있는 부분은 논리값(참, 거짓)을 통해서

그 구문을 들어가거나 나올수 있다는 점이다

이러한 부분 때문에 검증이 필요한 부분에서 많이 사용된다

 

 

* 그외에도 두 문법은 논리 표현식 뒤쪽에 :(콜론)을 붙여주고

들여쓰기를 통해서 몸체(영역)을 구분해주어야 한다

 

 

 

 

 

( if 문과 입력값 검증 함수를 합쳐서 일(day)을 초로 환산하는 프로그램에 적용해 보았다 )

 

 

 

( 입력값이 숫자가 아닌 다른 값이 들어오는 경우 isdecimal() 함수가 0값을 반환 해주기 때문에

else문이 실행 된다 )

 

 

 

 

 

( while문에서 입력값 검증을 통해 프로그램에 숫자 이외에는 입력 할수 없고

'q'라는 문자가 입력 되기전까지는 계속 입력 받을수 있도록 만들어 보았다 )

 

 

 

( 문자 'ㅂ'을 입력 했을때는 계산할 수 없는 값이라는 미리 만들어둔 에러 메세지가 출력 된다 )

 

 

* 이 외에도 처음부터 무한루프를 만들어서 특정 문자 입력시 프로그램이 종료되게

한다던지, 숫자를 입력할때까지 다시 입력하게 한다던지 하는 등의 응용이 가능하다

반응형

댓글