• 검색 결과가 없습니다.

1 조건문

N/A
N/A
Protected

Academic year: 2022

Share "1 조건문"

Copied!
26
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

이 교육과정은 교육부 ‘성인학습자 역량 강화 교육콘텐츠 개발'사업의 일환으로써 교육부로부터 예산을 지원 받아 고려사이버대학교가 개발하여 운영하고 있습니다.

제공하는 강좌 및 학습에 따르는 모든 산출물의 적작권은 교육부, 한국교육학술정보원, 한국원격대학협의외와 고려사이버대학교가 공동 소유하고 있습니다.

(2)

설명하고 이를 활용할 수 있다.

2 for문(반복문)에 대해 설명하고 이를 활용할 수 있다.

3 while문(반복문)과 break문에 대해 설명하고 이를 활용할 수 있다.

1 조건문

2 비교/논리연산자

3 반복문(for)

4 반복문(while)

5 break문

(3)

하시겠어요?

출처 : https://www.freepik.com

아메리카노 10잔이요!

아메리카노 한 잔요!

아메리카노 한 잔요!

아메리카노 한 잔요!

아메리카노 한 잔요!

아메리카노

한 잔요! 아메리카노 한 잔요!

아메리카노 한 잔요!

아메리카노 한 잔요!

아메리카노 한 잔요!

아메리카노 한 잔요!

(4)

INE LEARNING FOR PRACTICAL USE

출처 : https://www.freepik.com

덥다면 춥다면

‘만약 ~하면 ~ 하다’와같은 상황에서 사용 조건문

: 조건에 따라 다른 프로그램 코드를 실행

 사용 예

만약 점수가 80점 이상이면 합격이고 80점 미만이면 불합격이다.

만약 나이가 65세 이상일 경우에는 입장료가 무료이다.

주민번호 앞자리가 1이면 남성이다.

비밀번호가 맞으면 로그인된다.

(5)

CHINE LEARNING FOR PRACTICAL USEMACHINE LEARNING FOR PRACTICAL USE

만약 입력한 비밀번호가 맞다면

로그인

자격증 시험 점수가 70점 이상이면 합격, 70점 미만이면 불합격

****

PASSWORD

****

PASSWORD

LOGIN FAIL PASS FAIL

80 60

(6)

INE LEARNING FOR PRACTICAL USE

if~

 만약

입력한 비밀번호가 맞다면

로그인 된다

if~

else~

 만약

입력한 비밀번호가 맞다면

로그인 되고

 그렇지 않다면

경고 메시지를 띄운다

MACHINE LEARNING FOR PRACTICAL USE

 만약

입력한 비밀번호가 맞다면

로그인 되고

if~

elif~

else~

 입력한 비밀번호가 1자리수만 틀렸다면

다시 입력하라는 경고를 띄우고

 그렇지 않다면

경고 메시지를 띄운다

(7)

CHINE LEARNING FOR PRACTICAL USE

양수 판별하기

num = int(input('판별할 숫자를 입력하세요 : '))

if num > 0 :

print('입력한 숫자는 양수입니다.') 콜론(:)

잊지 말기

:: 실행 결과

판별할 숫자를 입력하세요 : 20 입력한 숫자는 양수입니다.

들여쓰기필수!

if문 활용하기

MACHINE LEARNING FOR PRACTICAL USE

양수/음수 판별하기

num = int(input('판별할 숫자를 입력하세요 : '))

if num > 0 :

print('입력한 숫자는 양수입니다.') else :

print('입력한 숫자는 0 또는 음수입니다') :: 실행 결과

판별할 숫자를 입력하세요 : -2 입력한 숫자는 0 또는 음수입니다

if~ else~문 활용하기

(8)

INE LEARNING FOR PRACTICAL USE

양수/음수/0 판별하기

num = int(input('판별할 숫자를 입력하세요 : '))

if num > 0 :

print('입력한 숫자는 양수입니다.') elif num == 0 :

print('입력한 숫자는 0입니다') else :

print('입력한 숫자는 음수입니다')

:: 실행 결과

판별할 숫자를 입력하세요 : 3 입력한 숫자는 양수입니다.

if~ elif~ else~문 활용하기

MACHINE LEARNING FOR PRACTICAL USE

비교 연산자 논리 연산자

> <

>=

<=

== !=

and or

not

(9)

CHINE LEARNING FOR PRACTICAL USE

a > b

a는 b보다 크다

a < b

a는 b보다 작다

a == b

a와 b는 같다

a != b

a와 b는 같지 않다

a >= b

a는 b보다 크거나 같다

a <= b

a는 b보다 작거나 같다

비교 연산자 설명

비교 연산자

MACHINE LEARNING FOR PRACTICAL USE

조건1 and 조건2

조건1과 조건2 둘 다 참이어야 전체 결과가 참

조건1 or 조건2

조건1과 조건2 중 하나만 참이어도 전체 결과가 참

not 조건

조건이 참이면 그 결과는 거짓, 조건이 거짓이면 그 결과는 참

논리 연산자 설명

논리 연산자

(10)

INE LEARNING FOR PRACTICAL USE

x = 11 y = 2

print(x > 10) print(y <= 5)

print(x + y == 14) print(x % 3 == 0) print(y % 3 != 0)

print(x > 10 and y <= 5)

print(x > 10 and x + y == 14) print(x > 10 or x + y == 14)

:: 실행 결과 True True False False True True False True

(11)

CHINE LEARNING FOR PRACTICAL USE

차가운 아메리카노 주세요 차가운 아메리카노

주세요

차가운 아메리카노 주세요

차가운 아메리카노 주세요

차가운 아메리카노 주세요

차가운 아메리카노 주세요

차가운 아메리카노 주세요

차가운 아메리카노 차가운 아메리카노 주세요

주세요

차가운 아메리카노 주세요

차가운 아메리카노 10잔주세요

출처 : https://www.freepik.com

(12)

INE LEARNING FOR PRACTICAL USE

특정한 부분의 코드가

반복적으로 수행될 수 있도록 하는 구문

반복문의 두 종류

For문 While문

MACHINE LEARNING FOR PRACTICAL USE

for문

for 변수 in range():

반복할 코드

리스트, 튜플,  문자열도 가능

range() 함수 : 어떤 정수를 주면

그 범위 안의 정수들을 생성

(13)

CHINE LEARNING FOR PRACTICAL USE

for 변수 in range():

반복할 코드

for문

숫자 n개 생성 숫자를

하나씩 꺼냄

숫자를 꺼낼 때마다 코드 실행

MACHINE LEARNING FOR PRACTICAL USE

print('Hello, world!') print('Hello, world!') print('Hello, world!') print('Hello, world!') print('Hello, world!')

for i in range(5):

print('Hello, world!')

어떤 방법이 더 효율적일까?

:: 실행 결과

Hello, world!

Hello, world!

Hello, world!

Hello, world!

Hello, world!

:: 실행 결과

Hello, world!

Hello, world!

Hello, world!

Hello, world!

Hello, world!

(14)

INE LEARNING FOR PRACTICAL USE

1~5까지의 합계 구하기

sum = 0

for i in range(1, 6) : sum += i

print('i의 값 : %d, 합계 : %d' % (i, sum)) :: 실행 결과

i의 값 : 1, 합계 : 1 i의 값 : 2, 합계 : 3 i의 값 : 3, 합계 : 6 i의 값 : 4, 합계 : 10 i의 값 : 5, 합계 : 15

MACHINE LEARNING FOR PRACTICAL USE

1~5까지의 합계 구하기

1 1 ← 0 + 1

2 3 ← 1 + 2

3 6 ← 3 + 3

4 10 ← 6 + 4 5 15 ← 10 + 5

반복 루프 i sum ← sum + i

출처 : 파이썬 입문 예제 중심, 황재호, 인포앤북, 141p

(15)

CHINE LEARNING FOR PRACTICAL USE

range() 함수의 활용

for i in range(5) : print(i, end =' ') print()

for i in range(1, 6) : print(i, end =' ') print()

:: 실행 결과 0 1 2 3 4 1 2 3 4 5

종료값

시작값

종료값

MACHINE LEARNING FOR PRACTICAL USE

range() 함수의 활용

for i in range(1, 10, 2) : print(i, end =' ') print()

for i in range(20, 0, -2) : print(i, end =' ')

:: 실행 결과 1 3 5 7 9

20 18 16 14 12 10 8 6 4 2

시작값 종료값

증가값

시작값 종료값

감소값

(16)

INE LEARNING FOR PRACTICAL USE

4의 배수의 합계

sum = 0

for i in range(1, 51) : if i%4 == 0 :

print('%d' % i, end = ' ') sum += i

print('\n')

print('[1~50에서 4의 배수의 합계] : %d' % sum) :: 실행 결과

4 8 12 16 20 24 28 32 36 40 44 48

[1~50에서 4의 배수의 합계] : 312

MACHINE LEARNING FOR PRACTICAL USE

세로로 문장 출력하기

word = input('세로로 출력할 문장을 입력하세요 : ')

for x in word :

print(x) :: 실행 결과

세로로 출력할 문장을 입력하세요 : 파이썬 파

이 썬

(17)

CHINE LEARNING FOR PRACTICAL USE

101 102 103 104 201 202 203 204 301 302 303 304 401 402 403 404 501 502 503 504

커피숍 주변의 회사에서 커피 배달 주문을 받았다.

1층부터 5층까지 순서대로 배달하는 방법은?

각 층에 올라가서 호실의순서대로 배달하기!

출처 : https://www.freepik.com

MACHINE LEARNING FOR PRACTICAL USE

for 변수 in range():

for 변수 in range():

반복할 코드

for문 내에 다시 for문이 있는 형태

(18)

INE LEARNING FOR PRACTICAL USE

구구단 출력하기

for i in range(2,10):

for j in range(1,10):

print(i*j, end=' ') print('')

:: 실행 결과

2 4 6 8 10 12 14 16 18 3 6 9 12 15 18 21 24 27 4 8 12 16 20 24 28 32 36

……

8 16 24 32 40 48 56 64 72 9 18 27 36 45 54 63 72 81

(19)

실습영상 삽입

(20)

INE LEARNING FOR PRACTICAL USE

열 번 찍어 안 넘어 가는

나무 없지!

찍었나?열 번 아직

계속 찍거라그럼

MACHINE LEARNING FOR PRACTICAL USE

while 조건 : 반복할 코드

10번 찍었는가?

계속해라아니면

(21)

CHINE LEARNING FOR PRACTICAL USE

tree = 0

while tree < 10:

tree = tree +1

print("나무를 %d번 찍었습니다." % tree) if tree == 10:

print("나무 넘어갑니다.")

https://wikidocs.net/21

열번찍어 안넘어 가는 나무 없다

MACHINE LEARNING FOR PRACTICAL USE

https://wikidocs.net/21

0 0 < 10 참 나무를 1번 찍었습니다. 반복

1 1 < 10 참 나무를 2번 찍었습니다. 반복

2 2 < 10 참 나무를 3번 찍었습니다. 반복

3 3 < 10 참 나무를 4번 찍었습니다. 반복

4 4 < 10 참 나무를 5번 찍었습니다. 반복

5 5 < 10 참 나무를 6번 찍었습니다. 반복

6 6 < 10 참 나무를 7번 찍었습니다. 반복

7 7 < 10 참 나무를 8번 찍었습니다. 반복

8 8 < 10 참 나무를 9번 찍었습니다. 반복

9 9 < 10 참 나무를 10번 찍었습니다.

나무 넘어갑니다. 반복

10 10 < 10 거짓 종료

tree 조건문 조건 판단 열번찍어 안넘어 가는 나무 없다

수행하는 문장 while문

:: 실행 결과

나무를 1번 찍었습니다.

나무를 2번 찍었습니다.

나무를 9번 찍었습니다.

나무를 10번 찍었습니다.

나무 넘어갑니다.

(22)

INE LEARNING FOR PRACTICAL USE

1~10까지의 합계

sum = 0 i = 1

while i <= 10 : sum += i

print('i의 값 : %d => 합계 : %d' % (i, sum)) i += 1

https://wikidocs.net/21

MACHINE LEARNING FOR PRACTICAL USE

https://wikidocs.net/21

1번째 1 1 <= 10 : 참 1 ← 0 + 1 2 ← 1 + 1

2번째 2 2 <= 10 : 참 3 ← 1 + 2 3 ← 2 + 1

3번째 3 3 <= 10 : 참 6 ← 3 + 3 4 ← 3 + 1

4번째 4 4 <= 10 : 참 10 ← 6 + 4 5 ← 4 + 1

5번째 5 5 <= 10 : 참 15 ← 10 + 5 6 ← 5 + 1 6번째 6 6 <= 10 : 참 21 ← 15 + 6 7 ← 6 + 1 7번째 7 7 <= 10 : 참 28 ← 21 + 7 8 ← 7 + 1 8번째 8 8 <= 10 : 참 36 ← 28 + 8 9 ← 8 + 1 9번째 9 9 <= 10 : 참 45 ← 36 + 9 10 ← 9 + 1 10번째 10 10 <= 10 : 참 55 ← 45 + 10 11 ← 10 + 1

11번째 11 11 <= 10 : 거짓 반복 루프를 빠져나감

반복 루프 I의 값 조건식(i<=10) :: 실행 결과sum = sum + i i = i + 1 i의 값 : 1 => 합계 : 1 i의 값 : 2 => 합계 : 3 i의 값 : 3 => 합계 : 6 i의 값 : 4 => 합계 : 10 i의 값 : 5 => 합계 : 15 i의 값 : 6 => 합계 : 21 i의 값 : 7 => 합계 : 28 i의 값 : 8 => 합계 : 36 i의 값 : 9 => 합계 : 45 i의 값 : 10 => 합계 : 55

(23)

CHINE LEARNING FOR PRACTICAL USE

언제까지나무를 찍어야하지?

그만하게이제

MACHINE LEARNING FOR PRACTICAL USE

If 조건 : break

조건에 맞다면!

정지하라실행을

(24)

INE LEARNING FOR PRACTICAL USE

1~10까지의 합계

i = 0

while True:

print(i) i += 1

if i == 50:

break

:: 실행 결과 0

1 2

… 47 48 49

(25)

- 조건문의 정의와 필요성

- 조건문의 종류와 활용하기

(if, if~else~, If~ elif~ else~)

- 비교/논리연산자의 정의와 활용

반복문의 이해(for) - 반복문의 정의와 필요성

- for문, 이중 for문의 문법과 활용

반복문의 이해(while)

- while/break문의 정의와 필요성

- while/break문의 문법과 활용

(26)

A 학급에 총 10명의 학생이 있다.

이 학생들의 중간고사 점수는 다음과 같다.

[70, 60, 55, 75, 95, 90, 80, 80, 85, 100]

for문을 사용하여 A 학급의 평균 점수를 구해 보자.

파이썬 입문 예제 중심, 황재호, 인포앤북 점프 투 파이썬, 박응용, 이지스퍼블리싱 왕초보를 위한 Python,

위키독스(https://wikidocs.net/56)

서체 출처 : 에스코어드림체-㈜에스코어, 나눔글꼴체-㈜네이버, 경기천년체

• https://www.freepik.com

• https://pixabay.com/

이미지 출처

참조

관련 문서

정책적으로 기상여건에 영향을 많이 받는 김장채소 수급 안정을 위해 기상 및 농업관측 강화, 기상피해에 대한

◦영연방 국가뿐만 아니라 전체 FTA 체결국에 대한 농축산물 수급 및 가격 등의 시장정보 수집 강화, 국내 농업부문 경쟁력 강화 및 차별화 지원 사업, 농축산물 수출

○ 예술가 창작환경 안정화 및 질적 성장 지원을 위하여 입주작가 맞춤형 창작 환경 지원 , 입주작가 맞춤형 창작 역량 강화 프로그램 지원 , 경기창작센터 내 소통 활성화

청소년지도자 역량 강화. 

정부는 우리 사회 곳곳에서 헌신한 숨은 공로자들을 국민들로부터 직접 추천을 받아 포상하는. ‘국민추천

이 보고서는 년도 정부 교육부 의 재원으로 한국과학창의재단의 지원을 받아 수행된 성과물임. 본 연구의 내용은 연구팀의 의견이며 교육부와

이 프로그램은 전통시장(상점가) 상인의 기본 역량 강화 및 상인들이 지역의 주체로서 지역문제를 파악하고 변화와 혁신의 필요성을 공감, 대응방안을 함께

3) 현재 각 부처에서 개별적으로 추진되고 있는 인적자원개발 관련 기본계획의 현황을 보면 교육인적자원부와 노동 부가 공동으로 수립한