파이썬 중첩 if문 처리하기 - TIL 1

2021. 12. 30. 18:05·TIL

파이썬 리플릿 25번 문제를 풀며 초반부의 파이썬 기초 개념들을 함께 정리해보려고 합니다.

 

문제는 x = b / a 를 만족하는 x 정수에 따라 함수를 구성하는 것이었는데요. 어떻게 접근해야 하나 고민해보니 x = b / a 에서 x가 정수라는 의미는 정수 b를 정수 a로 나눴을 때, 나머지가 0이라는 의미였습니다.

 

따라서 나머지를 찾는 % 연산자를 사용하여, 다음과 같이 작성했습니다.

if (b % a == 0):
  x = int(b / a)
  print(x)

여기서 정수를 정수로 나눴지만 x는 실수로 리턴되었기에 이를 int로 전환해주었습니다.

 

위와 같은 원리로 나머지가 0이 아닌 경우에는 정수가 아니므로 다음의 if 문을 추가합니다.

if (b % a != 0):
  print("No Solution")

다음으로 정수에는 0이 포함되므로, a 또는 b가 0인 경우를 처리해야 합니다. 먼저, a가 0일 경우에는 무언가를 0으로 나누려 하므로 x = b / a라는 공식이 성립할 수 없습니다.

if (a == 0):
  print("No Solution")

b가 홀로 0인 경우에는 a가 0이 아니라면 문제가 없습니다. 그러나 a와 b 모두가 0인 경우에는 어떨까요? x = 0 /0은 어떻게 이해할 수 있을까요?

 

이를 해결하기 위해서는 다시, a * x = b 로 돌아가야 했습니다. a가 0인 경우에는 x의 값과 무관하게 b의 값은 0이 됩니다. 즉, x의 값은 모든 (정)수가 될 수 있습니다.

if (a == 0 and b == 0):
  print("Many Solutions")

이상을 정리하여 조합하면 다음과 같습니다.

if (a == 0 and b == 0):
  print("Many Solutions")
elif (a == 0):
  print("No Solution")
elif (b % a == 0):
  x = int(b / a)
  print(x)
elif (b % a != 0):
  print("No Solution!")

문제의 의도에 맞게 if 문을 중첩해보자면 다음과 같이 정리할 수 있었습니다.

if (a == 0):
  print("No Solution")
  if (b == 0):
    print("Many Solutions")
elif (b % a == 0):
  x = int(b / a)
  print(x)
elif (b % a != 0):
  print("No Solution!")

 

반응형
저작자표시 (새창열림)

'TIL' 카테고리의 다른 글

파이썬 이메일, 비밀번호, URL 유효성 검사 정규 표현식 - TIL 6  (0) 2022.01.16
장고 db_table 이름 지정과 활용 방법 - TIL 5  (0) 2022.01.12
데이터 유형과 데이터베이스 종류 - TIL 4  (0) 2022.01.11
파이썬 리스트에서 홀수 제외하기 - TIL 3  (0) 2022.01.05
파이썬 함수와 파라미터 순서 - TIL 2  (0) 2022.01.03
'TIL' 카테고리의 다른 글
  • 장고 db_table 이름 지정과 활용 방법 - TIL 5
  • 데이터 유형과 데이터베이스 종류 - TIL 4
  • 파이썬 리스트에서 홀수 제외하기 - TIL 3
  • 파이썬 함수와 파라미터 순서 - TIL 2
휘 Hwi
휘 Hwi
개발자 성장 로그
  • 휘 Hwi
    개발자 로그: 변화를 위한 공간
    휘 Hwi
  • 전체
    오늘
    어제
    • 분류 전체보기 (61)
      • 101 (1)
      • Web | Internet (4)
      • HTML | CSS (4)
      • Python (9)
      • Django (20)
      • Javascript (0)
      • Node.js (0)
      • React (0)
      • React Native (0)
      • Database (1)
      • Git (1)
      • Terminal | Vim (1)
      • Auth | Security (4)
      • AWS (0)
      • Docker (0)
      • Kubernetest (1)
      • Deployment (1)
      • Project (2)
      • TIL (12)
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    배포
    html
    장고 URL
    깃 에러 해결
    JWT 디코딩
    탭내빙
    깃 ssh
    깃 오류
    HTTP GET 요청
    정규 표현식
    요소 크기 설정
    장고
    target="_blank"
    css
    JWT
    장고 Views
    새 탭에서 열기
    요소 절대 크기
    HTTP POST 요청
    깃
    프로젝트 회고
    TIL
    파이썬
    함수
    파라미터
    요소 상대 크기
    JWT 인코딩
    깃 퍼블릭 키 등록
    장고 프로젝트
    HTTP
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
휘 Hwi
파이썬 중첩 if문 처리하기 - TIL 1
상단으로

티스토리툴바