목록개인공부(WEB, Python, DB)/Python (176)
Chainsmoker's Block

[03. 프로그램의 구조를 쌓는다! 제어문] -2. while문 ===================while문 만들기 : 여러 줄짜리 문자열을 입력하여 여러가지 선택지를 만든다. 그 중 하나를 선택해서 입력받는 예제를 만들어 보려 한다. 이어서 number변수에 0을 먼저 대입한다. 이렇게 변수를 먼저 설정해두지 않으면 다음에 나올 while문의 조건문인 number != 4에서 변수가 존재하지 않는다는 오류가 발생할 수 있다.

[03. 프로그램의 구조를 쌓는다! 제어문] -1. if문 ===================조건부 표현식 : 아래 예시를 보자. 위 예시의 코드는 score가 60 이상일 경우에 message에 문자열 "success(성공)"을, 아닐 경우에는 "failure(실패)"를 대입하는 소스코드이다. 파이썬의 조건부 표현식(conditional expression)을 사용하면 위 코드를 다음과 같이 간단히 표현 가능하다. {message = "success(성공)" if score >= 60 else "failure(실패)"} '조건문이 참인 경우 if 조건문 else 조건문이 거짓인 경우' 조건부 표현식은 가독성에 유리하고 한 줄로 작성할 수 있어 활용성이 좋다.

[03. 프로그램의 구조를 쌓는다! 제어문] -2. while문 ===================while문의 기본 구조 : 반복해서 문장을 수행해야 할 경우 while문을 사용한다. 그래서 while문을 반복문이라고도 부른다. while문의 기본 구조이다. [while문의 기본 구조] while 조건문: 수행할 문장1 수행할 문장2 수행할 문장3 ~ while문은 조건문이 참인 동안에 while문 아래의 문장이 반복해서 수행된다. '열 번 찍어 안 넘어가는 나무 없다'는 속담을 파이썬 프로그램으로 만든다면 아래와 같을 것이다. 위 예에서 while문의 조건문은 hittree < 10이다. 즉, hittree가 10보다 작은 동안에 while문 안의 문장을 계속 수행한다. while문 안의 문장을 보면..

[03. 프로그램의 구조를 쌓는다! 제어문] -1. if문 ===================다양한 조건을 판단하는 elif : 1_13에 이어 설명. 즉, elif는 이전 조건문이 거짓일 때 수행된다. if, elif, else를 모두 사용할 때 기본 구조는 아래와 같다. [조건문 기본구조] if 조건문: 수행할 문장 1-1 수행할 문장 1-2 ~ elif 조건문2: 수행할 문장 2-1 수행할 문장 2-2 ~ elif 조건문n: 수행할 문장 n-1 수행할 문장 n-2 ~ else: 수행할 문장A 수행할 문장B ~ elif는 개수에 제한없이 사용 가능함. 기억해두자.

[03. 프로그램의 구조를 쌓는다! 제어문] -1. if문 ===================다양한 조건을 판단하는 elif : 1_12에 이어 설명. 마지막 예시에서 보기에도 이해하기 어렵고 산만한 느낌이 든다. 이런 복잡함을 해결하기 위해 파이썬에서는 다중 조건 판단을 가능하게 하는 elif를 사용한다. elif를 사용하면 아래와 같이 바꿀 수 있다.

[03. 프로그램의 구조를 쌓는다! 제어문] -1. if문 ===================다양한 조건을 판단하는 elif : if와 else만으로는 다양한 조건을 판단하기 어렵다. 아래 예를 보더라도 if와 else만으로는 조건을 판단하는데 어려움을 겪게 된다. '주머니에 돈이 있으면 택시를 타고, 주머니에 돈은 없지만 카드가 있으면 택시를 타고, 돈도 없고 카드도 없으면 걸어가라.' 위 문장을 보면 조건을 판단하는 부분이 두 군데가 있다. 먼저 주머니에 돈이 있는지를 판단해야 하고 주머니에 돈이 없으면 다시 카드가 있는지 판단해야 한다. if와 else만으로 위 문장을 표현하려면 아래와 같이 할 수 있다.

[03. 프로그램의 구조를 쌓는다! 제어문] -1. if문 ===================조건문이란 무엇인가? : 1_10에 이어 설명. 아래 예시는 튜플과 문자열에 적용한 예시이다. 각각의 결과가 나온 이유는 쉽게 보고도 유추해볼 수 있다. 다음으로는 계속 사용해온 택시예제에 in을 사용해보자. '만약 주머니에 돈이 있으면 택시를 타고, 없으면 걸어가라.' ['paper', 'cellphone', 'money']리스트 내에 'money'가 있으므로 'money' in pocket은 참이 된다. 따라서 if문 다음 문장이 수행된다.

[03. 프로그램의 구조를 쌓는다! 제어문] -1. if문 ===================조건문이란 무엇인가? : -x in s, x not in s :파이썬은 다른 프로그래밍 언어에서 쉽게 볼 수 없는 재미있는 조건문을 제공한다. 다음과 같은 것들이다. 영단어 in의 뜻이 '~안에'라는 것을 생각해본다면 아래 예가 쉽게 이해될 것이다. 앞에서의 첫 번째 예시는 '[1, 2, 3]이라는 리스트 안에 1이 있는가?'를 묻는 조건문이다. 1은 [1, 2, 3]안에 있으므로 참(True)을 돌려준다. 두번째 예시는 '[1, 2, 3]리스트 안에 1이 없는가?'를 묻는 조건문이다. 1은[1, 2, 3]안에 있으므로 거짓(False)을 돌려준다.

[03. 프로그램의 구조를 쌓는다! 제어문] -1. if문 ===================조건문이란 무엇인가? : -and, or, not 조건을 판단하기 위해 사용되는 다른 연산자로는 and, or, not이 있다. 각각의 연산자는 아래처럼 동작한다. 아래 예를 통해 or연산자의 사용법을 알자. '돈이 3000원 이상 있거나 카드가 있다면 택시를 타고, 그렇지 않으면 걸어가라.' : money는 2000이지만 card가 True이기 때문에 money >= 3000 or card 조건문은 참이 된다. 따라서 if문 다음 '택시를 타고 가라'라는 문장이 출력된다.

[03. 프로그램의 구조를 쌓는다! 제어문] -1. if문 ===================조건문이란 무엇인가? : 1_7에 이어 설명. 앞서 살펴본 택시 예제를 아래처럼 바꾸려면 어떻게해야하는가? '만약 3000원 이상의 돈을 가지고 있으면 택시를 타고 그렇지 않으면 걸어가라.' 아래처럼 프로그래밍할 수 있다. money >= 3000 조건문이 거짓이 되기 때문에 else문 다음 문장을 수행하게 된다.