while 문법의 이해
반복문 continue 문법
반복문 break 문법
다양한 반복문 코드 만들기
수업 예시 코드
# 예시 코드
# 에라토스테네스의 체 알고리즘을 사용하여 소수 목록 생성
def sieve_of_eratosthenes(limit):
primes = []
is_prime = [True] * (limit + 1)
for num in range(2, int(limit**0.5) + 1):
if is_prime[num]:
primes.append(num)
for multiple in range(num * num, limit + 1, num):
is_prime[multiple] = False
for num in range(max(2, int(limit**0.5) + 1), limit + 1):
if is_prime[num]:
primes.append(num)
return primes
# while문을 사용하여 팩토리얼 찾기
def calculate_factorial_while(n):
result = 1
current_num = 1
while current_num <= n:
result *= current_num
current_num += 1
return result
# 30까지의 소수를 출력
limit_for_sieve = 30
print(f"{limit_for_sieve}까지의 소수: {sieve_of_eratosthenes(limit_for_sieve)}")
# 5의 팩토리얼을 while 루프로 계산하여 출력
number_for_factorial = 5
print(f"{number_for_factorial}의 팩토리얼은: {calculate_factorial_while(number_for_factorial)}")
# break 문을 사용하여 1000보다 큰 첫 번째 팰린드롬 수 찾기
def is_palindrome(number):
return str(number) == str(number)[::-1]
number = 1001
while True:
if is_palindrome(number):
print(f"팰린드롬 찾음: {number}")
break
number += 1
# 17로 나누어 떨어지는 100보다 큰 첫 세 숫자 찾기
num = 101
count = 0
while True:
if num % 17 == 0:
print(f"찾음: {num}")
count += 1
if count == 3:
break
num += 1
# 홀수를 건너뛰고 10까지의 짝수 출력
num = 1
while num <= 10:
if num % 2 != 0:
num += 1
continue
print(f"짝수: {num}")
num += 1