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단계 정도만 중첩합니다.
다음의 방정식을 해결하는 프로그램을 구현 하세요. 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")