상세 컨텐츠

본문 제목

09. 파이썬 제어문과 반복문

프로그래밍 언어/Python(파이썬)

by 알파고제로 2023. 9. 20. 14:52

본문

1. 제어문 - if

■ if 문

  • 조건문, 다른 언어와 유사
  • 수행할 문장은 반드시 들여쓰기
  • 들여쓰기는 언제나 같은 깊이로 해야 한다.
  • 탭, 스페이스 2가지를 혼용해서 쓰면 안됨. 최근에는 공백 4개
  • if 조건문, while, for문 끝에 콜론(:)을 사용
  • 조건문에 비교 연산식 대신 변수를 바로 쓸 수도 있으며, 변수 자체가 논리식이 되는데 이때 각 변수의 논리값은 다음과 같이 결정된다
타입 거짓
숫자 0이 아닌 숫자 0
문자열 비어 있지 않은 상태 “”
리스트, 튜플, 딕셔너리 비어 있지 않은 상태 상태

■ if 문의 형식

if 조건문 :
    수행할 문장1
    수행할 문장2
    ...
else :
    수행할 문장A
    수행할 문장B
    ...
if 조건문1 :
    수행할 문장1
    수행할 문장2
    ...
elif 조건문2 :
    수행할 문장A
    수행할 문장B
    ...
else :
    수행할 문장A
    수행할 문장B
    ...

■ if 문 들여쓰기 오류의 예

# 오류 예 1 : 들여쓰기 오류
if 조건문 :
    수행할 문장1
수행할 문장2
    수행할 문장3
 
# 오류 예 2 : 들여쓰기 오류
if 조건문 :
    수행할 문장1
    수행할 문장2
        수행할 문장3

 

2. 반복문 - while

■ while 문 형식

  • 조건이 만족하는 동안 명령문을 반복적으로 실행한다.
while 조건:
	명령

 

■ while else 문

  • 조건을 만족하지 않아 while을 문을 빠져나오게 되면 else 문이 실행된다.
n = 10; sum = 0; i = 1

while i <= n:
    sum += i
    i += 1   
else : print("The sum is", sum)

 

3. 반복문 - for

■ for 문 형식

  • range() 함수와 함께 사용하여 지정된 횟수 만큼 반복하거나 문자열이나 리스트와 같은 자료형을 순회할 때 사용.
for 변수 in 리스트(또는 튜플, 문자열): 
     수행할 문장1 
     수행할 문장2 ...
     
for 변수 in range(start, end, step) :
     수행할 문장1 
     수행할 문장2 ...
test_list = ['one', 'two', 'three']
 
for i in test_list:
    print(i)

■ for 문과 range() 함수의 사용

  • range는 지정한 start, end 사이의 숫자를 step의 간격으로 발생시킨다.
  • range의 결과는 start부터 end 바로 앞 숫자까지 컬렉션을 만든다.
  • start와 step은 생략 가능하며, start를 생략하면 0부터, step을 생략하면 1씩 증가된다.

sum = 0
for i in range(1, 11):
	sum = sum + i
	print(sum)

■ for 와 list (파이썬 스럽지 못한 코드)

a = [1,2,3,4]
result = []
for num in a: 
      result.append(num*3)

print(result)

■ for 와 list (파이썬다운 코드) – List Comprehension

a = [1,2,3,4]
result = [num * 3 for num in a]
print(result)

a = [1,2,3,4] 
result = [num * 3 for num in a if num % 2 == 0] 
print(result)

result = [x*y for x in range(2,10) for y in range(1,10)]
print(result)

 

3. break, continue

■ break

  • break 명령은 반복문을 끝낸다.
  • 조건문(if 문)과 함께 반복을 끝낼 조건을 검사한 후 실행한다.
score = [92, 86, 68, 120, 56]
for s in score:
	if s < 0 or s > 100:
		break
    print(s)

■ continue

  • 현재 반복 실행을 중지하고 그 다음 반복을 수행한다
  • 조건문(if 문)과 함께 현재 반복을 끝낼 조건을 검사한 후 실행한다.
for i in range(100):
	if i % 2 == 0:
		continue
    print(i)

 

관련글 더보기

댓글 영역