Skip to content

설*우 (강의노트 4장) if 조건문 가독성 #64

@skw2592

Description

@skw2592

AI와 함께 4장을 학습하다가 if 조건문이 너무 길어지고 중첩이 계속 쌓이면, 가독성이 매우 떨어져서 불편하다는것을 알게 되었습니다.

연습 문제에 있던 삼각형 가능 여부 판단 문제는 해설지에선 이렇게 작성되었습니다

if a >= b + c or b >= a + c or c >= a + b:
    print("삼각형 가능")
else:
    print("삼각형 가능")

그리고 저는 중첩 조건문을 사용해서도 만들 수 있지 않을까라고 생각하며 이런 코드를 작성해봤습니다

if a>=b and a>=c:
    if a < b+c:
        print("삼각형 가능")
    else:
        print("삼각형 불가능")
elif b>=a and b>=c:
    if b < a+c:
        print("삼각형 가능")
    else:
        print("삼각형 불가능")
else:
    if c < a+b:
        print("삼각형 가능")
    else:
        print("삼각형 불가능")

보시다시피 둘 다 같은 목적의 코드이지만, 후자가 훨씬 가독성이 떨어지고, 이보다 중첩이 더 심한 코드는 만든 사람도 보기가 혼란할것입니다.
실무에서도 이렇게 중첩이 깊어지는 경우를 방지하기 위해, 가급적 논리 연산자(and, or)를 사용해 조건을 한 줄로 정리하는 것을 원칙으로 하나요? 아니면 중첩을 획기적으로 줄일 수 있는 파이썬만의 다른 문법적 장치나 설계 기법이 있는지 궁금합니다.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions