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