3. 제어문 (조건문, 반복문)
페이지 정보
작성자 관리자 댓글 0건 조회 5,053회 작성일 18-09-12 21:08본문
3. 제어문 (조건문, 반복문)
제어문 (조건문, 반복문)
''' 제어문 (조건문, 반복문) : 프로그램의 흐름을 제어를 해서 효율적으로 이용하기 위한 명령문
조건문 : if문
반복문 : while, for문
if 문 기본 구조
if <조건문>:
<실행할 명령문 1>
<실행할 명령문 2>
.......
else :
<실행할 명령문 1>
<실행할 명령문 2>
.......
[indentation(들여쓰기)]
if문을 작성할 때는 조건문 다음에 들여쓰기를 해줘야 한다.
다른 언어에서는
if <조건문>
{ <---- 파이썬에서는 들여쓰기로 대체
<실행할 명령문1>
<실행할 명령문2>
<실행할 명령문3>
}else{
<실행할 명령문1>
<실행할 명령문2>
<실행할 명령문3>
}
**
if <조건문> 다음에 반드시 ':' 와야 한다. ':' 다음에는 들여쓰기를 한다.
'''
number = 1; # 일반적으로 파이썬에서는 문장 끝에 ';' 생략하고 사용한다.
print (number);
if number:
print("0이 아니다")
else:
print("0이다")
비교 연산자
'''
< : x <y --- x는 y보다 작다
> : x> y --- x는 y보다 크다
== : x==y --- x와 y는 같다
!= : x!=y ---x와 y는 서로 다르다
>= : x>=y ---x는 y보다 크거나 같다
<= : x<=y ---x는 y보다 작거나 같다
'''
x =100
y = 1000
print(x>y)
print(x!=y)
논리 연산자 (and , or , not),in 연산자
''' 논리 연산자 (and , or , not)
x and y : x와 y가 모두 참일 때 참
x or y : x와 y 둘중에 하나만 참일때 참
not x : x가 참이면 거짓
** in 연산자
x in 리스트, x not in 리스트, x in 튜플, x not in 튜플, x in 문자열, x not in 문자열
'''
print("a" in ["a", "b", "c"])
print("a" not in ["a", "b", "c"])
"a" in ("a", "b", "c")
print("a" in "abcd")
이중 if문
aa = ["a", "b"]
flag = 1
if 'c' in aa:
print("a를 가지고 있습니다")
else:
if flag:
print("a를 가지고 있습니다")
else:
print("a를 가지고 있지 않습니다")
#elif (다른 언어에서의 else if 와 같다)
if 'c' in aa:
print("c를 가지고 있습니다")
elif 'a' in aa:
print("a는 가지고 있고, c는 가지고 있지 않습니다")
else:
print("a와 c가 aa에 없습니다")
다중 if문의 구조
''' 다중 if문의 구조 (다른언어의 switch case문과 비슷한 구조)
if <조건문>:
<실행할 명령문 1>
<실행할 명령문 2>
.....
elif <조건문>:
<실행할 명령문 1>
<실행할 명령문 2>
....
elif <조건문>:
<실행할 명령문 1>
<실행할 명령문 2>
....
...
else:
<실행할 명령문 1>
<실행할 명령문 2>
...
** pass
'''
aa = ["a", "b"]
dd = "d"
if dd in aa:
pass
else:
print(dd+"는 없습니다")
dd = "d"
pp = ["a", "b", "c"]
# if문을 단일 문으로 처리하는 예
if dd in pp: pass
else: print("없습니다")
for문의 기본구조
''' for문
for문의 기본구조
for 변수 in 리스트(튜플, 문자열):
<실행할 문장1>
<실행할 문장2>
...
'''
list1 = ['a', 'b', 'c']
for i in list1:
print(i)
jumsu = [90, 50, 60, 45, 80] #1번부터 5번까지의 학생의 시험점수
number = 0
for i in jumsu:
number = number +1
if i >= 60: print("%d번 학생의 점수는 %d 점으로 합격되었습니다...!!" %(number, i))
else: print("%d번 학생의 점수는 %d 점으로 불합격되었습니다...!!!" %(number, i))
continue
# continue
jumsu = [90, 50, 60, 45, 80] #1번부터 5번까지의 학생의 시험점수
number = 0 # number 값을 0으로 초기화한다.
for i in jumsu:
number = number +1
if i <60: continue
print ("%d 번 학생 합격입니다" % number)
aa = [('a', 'b'), ('c', 'd'), ('e', 'f')]
for (i, j) in aa:
print(i+j)
for i in range(2,10):
for j in range(1, 10):
print(i*j, end=" ")
print(' ')
for문과 range 함수
''' for문과 range 함수
- range 함수는 두개, 세개의 숫자를 이용하는 함수이다.
숫자가 두개인 경우 1씩 증가하는 숫자의 리스트를 반환한다.
숫자가 세개인 경우 세번 째 숫자는 증가치를 의미한다.
사용예> range(1,5) ---> 리스트 [1,2,3,4] 반환한다.
range(1,5,2) ---> [1,3] //2씩 증가 시킨다.
** 주의: 두번째 숫자 이하가 아니라 미만 까지만 반환을 한다.
''’
for i in range(1,10):
print (i)
else:
print("반복문 종료")
# 반복문에서 else절은 루프를 다돌고 난뒤에 항상 수행한다. break문을 사용했을 경우에는 수행되지않는다.
c언어에 for문과 파이썬의 for문의 차이
''' c언어에 for문과 파이썬의 for문은 근본적으로 다르다.
파이썬의 for문은 C# foreach루프 비슷하고, java의 for(int i : IntArray) 비슷하다.
c언어에서 for(int i = 0; i< 5: i++) 과
같이 파이썬에서 표현을 한다면
for i in range(0,5)와 같이 표기할 수 있다.
'''
[range 함수를 이용해서 구구단 출력하기 ]
for i in range(2,10):
for j in range(1,10):
print("%d*%d=%d" %(i,j,i*j), end=" ")
print(" ")
# 리스트안에 for문을 이용하여 프로그램 해보기
aa = [1,2,3,4,5,6,7,8,9]
gugudan_2 = []
for i in aa:
gugudan_2.append(i*2)
print(gugudan_2)
aa = [1,2,3,4,5,6,7,8,9]
gugudan_2 = [i*2 for i in aa]
print(gugudan_2)
# 5단의 결과값 중에서 짝수만 리스트에 추가하는 예
aa = [1,2,3,4,5,6,7,8,9]
gugudan_5 = [i*5 for i in aa if i %2 == 0]
print (gugudan_5)
리스트 내포(List comprehension)의 기본적인 구조
''' 리스트 내포(List comprehension)의 기본적인 구조
1) [ 표현식 for 항목 in 반복가능한 객체 if 조건 ]
위에서 if조건은 생략이 가능하다.
2) [표현식 for 항목1 in 반복가능한객체1 if 조건1
for 항목2 in 반복가능한객체2 if 조건2
.....
for 항목n in 반복가능한객체n if 조거n ]
''’
#구구단의 결과를 저장하는 리스트 구현
gugudan = [i*j for i in range(2,10)
for j in range(1,10) ]
print(gugudan)
while문의 구조
'''
** while문의 구조
while <조건문>:
<실행할 명령문 1>
<실행할 명령문 2>
<실행할 명령문 3>
.....
'''
# -*- coding: utf-8 -*-
aa = 0
while aa <10:
aa = aa +1
print ("aa 값은 %d 입니다" %aa)
if aa == 10:
print("종료합니다")
무한루프
''' 무한루프 예
while 1:
<실행할 명령문 1>
<실행할 명령문2>
....
while 1:
print("무한반복 됩니다")
보조제어문(break, continue)
'''
# -*- coding: utf-8 -*-
m = 100
n = 10
while m:
n = n -1
print("현재 %d 입니다" %n)
if not n:
print("n의 값은 0 입니다")
break #while문을 빠져나간다.
# 1에서 부터 10까지의 정수중 홀수를 출력하는 코드
# -*- coding: utf-8 -*-
i = 0
while i <10:
i = i+1
if i % 2 == 0 :
continue #continue문은 while문의 맨처음 (i<10)으로 돌아가게하는 명령문
print(i)
댓글목록
등록된 댓글이 없습니다.