본문 바로가기

공부/python

(python) 선택3 - 중첩된 if-else문, 관련 예제들2

그전까지 하나의 if-else문장만을 써왔다. 하지만 우리는 조건문안에 또다른 조건문을 넣어야되는 상황이

많이 생길것이다. 이럴때는 if-else문 안에 다른 if-else문을 넣으면 된다. 이걸 중첩된 if-else문이라고 한다.

 

정해진 한계는 없다. 하지만, 너무많은 사용은 혼란을 불러올 수 있다.

들여쓰기로 구분하며, 너무많은 사용은 지양하자.

 

전체적인 구조는 아래의 사진을 참고하자.

전체적인 구조

간단한 예제를 보자.

사과의 상태를 입력받고 appleQuality변수에 문자열을 저장한다.

사과의 가격을 입력받고 정수형태로 applePrice변수에 저장한다.

분기를 나누어 appleQulity에 입력된 문자열이 '신선'이라면,

또 분기를 나누어 applePrice에 입력도니 사과의 가격이 1000원이 넘어가는지 아닌지에 따라

10개를 사는지 5개를 사는지 정한다.

만약 사과의 상태가 '신선'이 아닌 다른 문자열이 입력되면 사과를 사지않는다.


관련 예제들

1. 아이디검사

아이디를 입력받아서 리스트에 등록된 아이디인지 검사하고 아이디가 일치하다면,

패스워드를 물어보는 프로그램을 만들어보자.

user_list = ['kim', 'hong', 'lee'] #아이디리스트

모든 user의 패스워드는 12345678로 가정한다.

아이디를 입력하세요: hong
패스워드를 입력하세요: 12345678
환영합니다.
아이디를 입력하세요: park
알 수 없는 사용자입니다.
아이디를 입력하세요: hong
패스워드를 입력하세요: fenwkojqvn
잘못된 패스워드입니다.

 

 

 

 

2.터틀 그래픽

사용자로부터 명령어를 받아서 터틀을 제어해보자.

사용자가 left를 입력하면 왼쪽으로 60도 회전후 50만큼 이동,

right를 입력하면 오른쪽으로 60도 회전후 50만큼 이동한다.

exit를 입력하면 종료한다.

Hint. 특정상황이 나올 때까지 계속 반복.

while True:를 이용하여 무한반복시키고, break를 사용해서 반복에서 빠져나온다.
다음 포스팅에서 자세히 배울 예정이다.

왼쪽=left, 오른쪽=right: left
왼쪽=left, 오른쪽=right: right
왼쪽=left, 오른쪽=right: left
왼쪽=left, 오른쪽=right: right
왼쪽=left, 오른쪽=right: exit

 

 

 

 

3. 달의 일수 출력

if-else문을 사용하여 1년의 각 달의 일수를 출력하는 프로그램을 작성하자.

월을 입력하세요: 12
월의 날수는 31

 

 

 

위 방법 외에도

이렇게 작성할 수도 있다.