조건문
- 시작하기 앞서 ..예를 들어 60점 미만은 ‘F’, 90점 이상은 ‘A’ 와 같은 기준이 있다
- 점수에 따른 학점의 기준을 정한다 ( 95점 이상 ‘A+’, 60점 미만 ‘F’ )
- 기준을 바탕으로 첫 번째 점수를 판단한다 ( 38점은 60점 미만이므로 ‘F’ )
- 다음 점수로 이동하면서 2를 반복한다 ( 37점은 60점 미만이므로 ‘F’ )
- 더 이상 판단할 점수가 없을 때 프로그램을 종료한다
- 어떤 기준이 있는 일에 대해 매우 효율적으로 문제를 해결할 수 있다
- 언제까지 해야 하는가 ? > 반복의 설정
- 점수 : 38, 37, 65, 89, 16, 95, 71, 63, 48, 49, 66
- 만약 다음과 같은 성적이 있다고 할 때 학점을 부여하는 프로그램을 만들려면 어떻게 해야할까 ?
조건문의 개념
- 실생활에서도 조건문이 필요한 경우
- 앞 지하철과의 간격이 10m이하면, 속도를 10km이하로 늦춰라
- 사용자가 20세 이하면, VOD를 재생하지 마라
- 스마트폰 잠금 해제 패턴이 5회 틀리면, 20초 동안 대기 상태로 만들어라
조건문을 구성하기 위해서는
- 조건을 나타내는 기준과 실행해야 할 명령이 필요하다
- 조건문은 반드시 조건의 참과 거짓으로 구분되어야 한다
- 조건문은 조건에 따라 특정 동작을 하도록 하는 프로그래밍 명령어
if-else문
- if-else문
- if 뒤에는 참과 거짓을 판단할 수 있는 조건문이 와야 하고, 조건문이 끝나면 반드시 콜론(:)을 붙여야한다
- 들여쓰기를 사용하여 해당 조건이 참일 경우 수행할 명령을 작성한다
- if의 조건이 거짓일 경우 else 문이 수행된다
else 문은 생략해도 상관 없음, 조건에 해당하지 않는 경우 처리해야 할 명령이 있다면 else문을 넣으면 된다
- ex.
- 코드 해설
(1)
print(’Tell me your age?’)
maybe = int(input())
위 코드에서 먼저 나이를 입력하라는 메시지가 나타면 사용자가 나이 입력
(2)
if maybe < 30 :
print(’Welcome to the Club’)
만약 나이가 30세 미만일 경우 클럽에 입장할 수 있다는 메시지를 출력하고,
30세 이상일 경우에는 클럽에 입장할 수 없다는 메시지를 화면에 출력한다
여기서 핵심은 myage < 30 이라는 조건 !
사용자가 입력한 값(maybe = int(input()))은 myage 변수에 정수형(int)으로 바꿔서 할당된다
다음으로 그 값 이 30보다 작다는 조건이 True일 때,
즉 myage < 30이 참일 경우 print("Welcome to the Club")이라는 구문을 수행시키고
해당 조건이 False일 때는 else 다음에 오는 구문을 수행 시킨다.
- 조건의 판단
- 비교연산자
- is 문법 파이썬은 처음 인터프리터를 시작할 때 -5~256까지는 변하지 않는 메모리(정적 메모리)주소에 값 할당그렇기에 a와 b 둘다 100일 때는 is 와 == 모두 같다고 나오지만
a = 100 b = 100 a is b True a == b True a = 300 b = 300 a == b True a is b False
- 둘 다 300일 경우에는 값만 같고 메모리 주소는 다르다고 나옴 is not 도 마찬가지이다
- 해당 값을 다른 변수가 사용할 때 메모리 주소를 반환
- == 연산자처럼 두 변수가 같음을 비교하지만, == 연산자와 다르게 메모리의 주소를 비교
- 조건문 코드의 판단 방법은 참 또는 거짓을 구분하는 방법과 같다
- True 와 False의 치환
if 1: print("True") else: print("False") True (3>5)<10 True * 3>5는 False이다 이는 0으로 치환 된다 그래서 이것을 다시 치환하면 (0) < 10이 되고, 이 값은 다연히 참이므로 True가 반환되는 것이다
- 논리 연산자
- a = 8 b = 5 a == 8 and b == 4 False a > 7 or b > 7 True not (a > 7) False
- 논리 연산자 and, or, not을 사용해 조건문을 좀 더 확장할 수 있다
- 컴퓨터는 기본적으로 이진수만 처리할 수 있기에 True는 1로 Flase는 0으로 처리한다
- if-elif-else문
- 중첩 if문
표 내의 학점 채워넣기
실제 코드로 만들어 실행하면 모든 값이 D나 F로 나옴 > 코드가 한 줄씩 차례대로 실행되기 때문
이 문제를 해결하기 위해
여러개의 조건을 하나의 if문에서 검토할 수 있도록 elif를 사용한 if-elif-else 문으로 작성해야 한다.
elif는 else if의 줄임말로 if문과 같은 방법으로 조건문을 표현할 수 있다
if문의 조건이 맞지 않으면 다음 elif문으로 이동하고,
그 조건에 맞지 않으면 그 다음 elif문으로 이동하게 된다
중간에 조건문이 True가 된다면 별도의 확인 없이 바로 if문 그룹을 빠져나온다
즉, 하나의 조건만 맞으면 다른 조건들과의 비교하지 않는다
실습
- 실습 : 어떤 종류의 학생인지 맞히기
- 프로그램 조건
- 실행결과
- 코드
외의 책 내 실습 스스로 해보기
'스터디 > 파이썬 스터디 강의자료' 카테고리의 다른 글
[1팀/지다인] 3차시 파이썬 스터디- 조건문 (0) | 2023.03.22 |
---|---|
[1팀/허서원] 3차시 파이썬 스터디 - 조건문 (0) | 2023.03.22 |
[3팀/이지현] 3차시 파이썬 스터디 - 조건문 (0) | 2023.03.22 |
[3차시/김규리] 3차시 파이썬 스터디 - 조건문 (0) | 2023.03.22 |
[4팀/김민혜] 3차시 파이썬 스터디 - 조건문 (0) | 2023.03.21 |