[Python] 4. 반복문

YJ·2024년 10월 7일

Python 공부하기

목록 보기
5/13
post-thumbnail

본 블로그 글은 박동민·강영민 저자님의 으뜸파이썬 교재를 참고하여 만들어진 글임을 밝힙니다.

반복문

  • 특정한 작업을 여러번 되풀이해서 수행하려고 할때
  • 파이썬에는 for문과 while 문 두 종류가 존재

for 반복문

  • 반복의 횟수가 미리 정해져 있는 경우 사용
for [제어변수] in [반복할 열]:
	[반복될 블록]
  • (참고) 여기서 제어변수에 경우 _로 익명화가 가능하다.

range() 함수

range([start,], stop, [,step])
  • start : 초기값으로 생략하는 경우 0이 할당
  • stop : 반복 조건 < stop이 참이 되면 반복
  • step : 증가값, 생략시 1이 할당
  • list 함수와 함께 리스트를 쉽게 생성할 수 있다.
    • 1이상 100이하의 자연수 리스트

      list(range(1, 101)
  • (참고) range의 경우 numpy 모듈의 arange()와 달리 실수 값을 인자로 가질 수 없다.
  • end를 통해 print함수의 디폴트로 끝에 붙는 \n (개행문자)를 변경할 수 있다.
# 공백 문자로 변경
print(i, end = ' ')

중첩 for 루프

  • for문 안에 for문을 넣는 구조
  • 대표적인 예시로 구구단 출력 문제가 있음
  • 삼중 for 루프부터는 코드의 해석이 어려워져 잘 사용하지 않는다.

응용

1 ~ 10까지 정수의 합

total = 0
for i in range(1, 11):
	total += i
print("1에서 10까지의 합:", total)

팩토리얼 구하기

n = int(input("수를 입력하세요 : "))
fact = 1
for i in range(1, n+1):
	fact *= i
print(f"{n}! = {fact}")

참고
C와 Java에는 정수의 크기가 4바이트형으로 정해져 있어 일정한 크기 이상의 정수는 표현할 수 없는 반면, 파이썬은 정수 표현의 한계가 없다.

리스트 항목 합하기

numbers = [10, 20, 30, 40, 50]
total = 0
for n in numbers:
	total += n
print("리스트 항목의 합 : ", total)

참고
파이썬 내장 함수인 sum()을 이용하여 합계를 구할 수 있다.

삼각형 패턴 출력

n = int(input("삼각형 높이를 입력하세요 : "))
for i in range(n):
	for j in range(n - (i + 1)):
		print(' ', end = '')
	for j in range(2 * i + 1):
		print('+', end = '')
	print()

소수 구하기

n = int(input('수를 입력하세요 :'))
is_prime = True
for i in range(2, int(n ** 0.5) + 1):
	if n % i == 0:
		is_prime = False
print(n, 'is prime :', is_prime)

while 반복문

  • 반복 횟수는 알지 못하지만 반복하는 조건이 명확한 경우에 사용
  • 조건이 참인 경우에 계속 실행하는 반복문
while [조건식] :
	[실행할 코드 블록]

응용

1 ~ 10까지 정수의 합

total = 0
i = 1
while i <= 10:
	total += i
	i += 1

원하는 값까지 반복 (입력을 가위, 바위, 보 중 선택)

selected = None
while selected not in ['가위', '바위', '보']:
	selected = input('가위, 바위, 보 중에서 선택하세요> ')
print('선택한 값은:', selected)

break와 continue

  • 반복문을 제어하는 키워드
  • break : 반복 실행을 종료
  • continue : 반복문 루프 내의 나머지 실행부르 건너뛰고 계속해서 반복 루프를 실행 (반복 실행을 종료하지 않음)

참고
break와 continue 문이 너무 많이 사용되는 경우 제어의 흐름에 일관성이 없어 프로그램을 이해하는 것이 어려워진다. 따라서 필요한 경우 제한적으로 사용하는 것이 좋다.

profile
제 글이 유익하셨다면 ♡와 팔로우로 응원 부탁드립니다.

0개의 댓글