TIL[32]. Python_Nested If Statements

jake.log·2020년 8월 22일
0

Python

목록 보기
14/39

14.Nested If Statements

if 구문은 컨디션이 복잡할수록 가독성이 떨어진다.

반복되는 컨디션이 있을때는 nested if statemens
중첩되는 if 구문을 사용하면 가독성이 훨씬 높아지고 코드도 간결해진다.

if status == "학생":
    if year >= 3:
        print("취업이 곧 다가온다")
    elif year == 2:         
        print("그래도 아직 놀 시간이 있네..")
    elif year < 2:                  
        print("한창 놀때지..")
else:
    print("열심히 공부 해서 대학교 부터 가라!")

파이썬에서는 nest level도 indentation (간격)으로 구분된다.
안에로 간격이 더 들어갈 수 록 중첩 된것이다.

위에 if 구문을 예로 들면, 안으로 간격이 전혀 없는 if 와 else 구문은 최상위 if 구문들이고 안으로 간격이 한단계 들어가 있는 if 구문들은 최상위 if 구문에 연결 되어 있는 nested if 구문이다.

이론상 nesting은 1,2 단계 훨씬 이상 될 수 있지만 2단계 이상 중첩을 하면 가독성이 너무 떨어지기 때문에 일반적으로 2단계 이상은 잘 하지 않는다.

오히려 2단계 이상 중첩을 하게 되면 해당 코드에 문제가 있다는 반증으로 여겨지기도 한다.

대부분은 2단계도 잘 가지 않고 1단계 정도만 중첩합니다.

Assignment

다음의 방정식을 해결하는 프로그램을 구현 하세요. x값을 구해야 합니다.

ax = b

결과 출력물은 다음과 같아야 합니다.

Input 으로 주어진 a 와 b 값으로 위의 방정식을 충족하는 단 하나의 정수가 존재한다면 해당 정수를 출력하면 됩니다
만일 a 와 b 값으로 위의 방정식을 충족하는 정수가 없다면 "No Solution"을 출력해주세요.
a 와 b 값으로 위의 방정식을 충족하는 정수가 많다면 "Many Solutions"을 출력해주세요.

Hint:
a 나 b 는 0이 될 수 있습니다.

Examples:
만일 a = 1, b = -2 라면 결과값으로 -2가 출력이 되어야 합니다.
만일 a = 2, b = -1 라면 결과값으로 "No Solution"이 출력이 되어야 합니다.

Model solution

a = int(input())
b = int(input())

if a == 0:
    if b == 0:
        print("Many Solutions")
    else:
        print("No Solution")     
   
elif b % a == 0: 
    print(b // a)
    
else:
    print("No Solution")
profile
꾸준히!

0개의 댓글