파이썬 9 ~ 13
목차
25조건식
26조건문(if문)
27양자택일 조건문(if~else문)
28_if~else문과 조건식
29다자택일 조건문(if~elif문)
30다자택일 조건문 사용 시 주의할 점
31중첩 조건문
32반복문
33횟수에 의한 반복(for문)
34반복 범위 설정(range() 함수)
35조건에 의한 반복(while문)
36for문과 while문 비교
37무한 루프
38반복문 제어(continue)
39반복문 제어(break)
40_중첩 반복문
True if (100 > 50) else False (if ~else 사이에 들어감)
조건문 : 특정 조건에 따라 프로그램을 분기한다.
조건문의 종류
·if 문 -> 단일조건
·if ~else문 -> 양자택일
·if ~ ~elif문 -> 다자택일(다중조건)
if조건식 : (들여쓰기가 됨. 들여쓰기 해지하면 if문 적용안된다.)
실행문
ex)
if 10 > 5:
print('10은 5보다 크다.')
print('또 다른 실행문!!')
print('조건문이 끝났어요.')
출력값 :
10은 5보다 크다.
또 다른 실행문!!
조건문이 끝났어요.
* 조건문에 안맞으면 출력이 안됨.(에러가 아님)
if~else문 : 조건식 결과에 따라 둘 중에 하나가 실행됨.
if myScore >= passScore:
pass
else:
pass (실행문에 pass는 나중에 코딩하겠다는 뜻. 에러안뜸)
rainPer = 55
comeRainPer = int(input('비 올 확률 : '))
#print('우산을 챙기세요') if comeRainPer >= rainPer else print('양산을 챙기세요')
if comeRainPer >= rainPer:
print('우산을 챙기세요')
else :
print('양산을 챙기세요')
출력값:
비 올 확률 : 55
우산을 챙기세요
*조건문이 길 때는 조건문보다는 if~else문을 사용하는 것이 낫다.(조건문 간단한 걸 선호)
여러가지 조건식 결과에 따라 실행문이 결정됨.
exampleScore = int(input('시험 성적 입력 : '))
grades = ''
if exampleScore >= 90:
grades = 'A'
elif exampleScore >= 80:
grades = 'B'
elif exampleScore >= 70:
grades = 'C'
elif exampleScore >= 60:
grades = 'D'
else:
grades = 'F'
print('성적 : {} \t학점 : {}'.format(exampleScore, grades))
출력값 :
시험 성적 입력 : 90
성적 : 90 학점 : A
조건식 순서가 중요하다.(결과값 에러)
순서가 안맞으면 조건 범위를 명시.
if carCc < 1000:
print(' 세금 : 100,000원')
elif carCc < 2000 and carCc >= 1000:
print('세금 : 200,000원')
elif carCc < 3000 and carCc >= 2000:
print('세금 : 300,000원')
elif carCc < 4000 and carCc >= 3000:
print('세금 : 400,000원')
elif carCc < 5000 and carCc >= 4000:
print('세금 : 500,000원')
elif carCc >= 5000:
print('세금 : 600,000원')
출력값 :
자동차 배기량 입력 : 3200
세금 : 400,000원
조건문 안에 또 다른 조건문이 있다.
EX)
exampleScore = int(input('시험 점수 입력 : '))
if exampleScore < 60:
print('재수강 입니다')
else:
if exampleScore >= 90:
print('A')
elif exampleScore >= 80:
print('B')
elif exampleScore >= 70:
print('C')
elif exampleScore >= 60:
print('D')
출력값 :
시험 점수 입력 : 50
재수강 입니다
반복문 : 특정 실행을 반복하는 것.
반복문을 사용 프로그래밍이 간결하고 유지 보수가 쉽다.
(mp3 반복 실행, 게임 반복 실행, 인사말 반복 등)
ex)
for i in range(1, 10):
print('{} {} = {}'.format(5, i, (5 i)))
출력값 :
5 1 = 5
5 2 = 10
5 3 = 15
5 4 = 20
5 5 = 25
5 6 = 30
5 7 = 35
5 8 = 40
5 * 9 = 45
ex)
players = ['박찬호', '박세리','박지성', '김연경','이승엽']
for player in players:
print('{}선수한테 메일 발송!!'.format(player))
출력값 :
박찬호선수한테 메일 발송!!
박세리선수한테 메일 발송!!
박지성선수한테 메일 발송!!
김연경선수한테 메일 발송!!
이승엽선수한테 메일 발송!!
횟수에 의한 반복 / 조건에 의한 반복
정해 놓은 반복 횟수에 따라 반복 실행한다.
(대량 메일 발송, 인사말, mp3 반복 실행 등)
for ~in 키워드
range(1, 11, 1) = 1 ~ 10
1 : 시작 (시작이 0인 경우는 앞에 1 생략한다.)
11 : 끝
1 : 단계 (끝에 1은 보통 생갹한다)
range(0, 10, 3)
0 에서부터 9까지 3씩 증가하면서 반복
결과 : 0,3,6,9 (4회 반복)
˙조건에 만족하면 반복 실행한다. 그렇지 않으면 반복을 중단한다.
(매일 아침 기상 알람, 게임 반복 실행, 타이머)
˙조건에 의한 반복은 while문이 주로 사용된다.
ex)
endNum = 10
n = 0
while n <= endNum: *조건식이 항상True면 무한loop에 빠지게되니 주의
print(n)
n += 1
출력값:
0
1
2
3
4
5
6
7
8
9
10
횟수에 의한 반복은 for문이 while문 보다 적합하다.(안되는것 아니다)
조건에 의한 반복은 while문이 for문 보다 적합하다.
반복문을 빠져나올 수 없는 경우를 무한루프라고 한다.
n += 1 로 1을 더해줌으로써 무한루프를 빠져나올 수 있다.
논리형 데이터 사용
조건식에 논리형 데이터를 사용해서 무한 반복 실행할 수 있다.
ex)
for i in range(100):
if i % 7 != 0:
continue (*컨티뉴에 걸리면 위로 다시 돌고 돈다.)
print('{}는 7의 배수입니다.'.format(i))
출력값 :
0는 7의 배수입니다.
7는 7의 배수입니다.
14는 7의 배수입니다.
21는 7의 배수입니다.
28는 7의 배수입니다.
35는 7의 배수입니다.
42는 7의 배수입니다.
49는 7의 배수입니다.
56는 7의 배수입니다.
63는 7의 배수입니다.
70는 7의 배수입니다.
77는 7의 배수입니다.
84는 7의 배수입니다.
91는 7의 배수입니다.
98는 7의 배수입니다.
else의 실행문은 반복문이 종료된 후 실행된다.
반복실행 중 break를 만나면 반복문을 빠져나온다.
ex)
currentWeight = 800
limitWeight = 2200
date = 1
while True:
if currentWeight >= 2200:
break
date += 1
currentWeight += 70
print('이유식 중단 날짜 : {}'.format(date))
출력값 :
이유식 중단 날짜 : 21
반복문 안에 또 다른 반복문을 선언한다.
ex)
for i in range(1, 10):
for j in range(2, 10):
result = j i
print('{} {} = {}\t'.format(j, i, result), end='')
print()
출력값:
2 1 = 2 3 1 = 3 ~ 9 1 = 9
2 2 = 4 3 2 = 6 ~ 9 2 = 18
이하생략
어렵게 느껴지는 부분이 많지만 완전 이해하려고 하기 보다는 함수나 코딩에 익숙해지려고 노력중이다. 수강 중에 멘탈잡고 꾸준히 하기 위해 최대한 부담없이 하려고 노력중이다. 화이팅!