문법적 오류 (Syntax error)

예시:

# syntax error
print("Hello, World!")

위 코드에서는 문자열을 따옴표로 감싸지 않았기 때문에, 컴파일러가 인식할 수 없는 문자열로 인식되어 오류가 발생합니다.

논리적 오류 (Logical error)

예시:

# logical error
def calculate_average(numbers):
    total = 0
    for number in numbers:
        total += number
    average = total / len(numbers)
    return average

numbers = [1, 2, 3, 4, 5]
average = calculate_average(numbers)
print(f"{numbers}의 평균은 {average}입니다.")

numbers.append(6)
average = calculate_average(numbers)
print(f"{numbers}의 평균은 {average}입니다.")

위 코드에서는 calculate_average 함수가 리스트의 평균을 계산하지만, 새로운 값을 추가할 때마다 다시 계산하지 않아서 잘못된 결과가 출력됩니다.