프로그램

[파이썬] 복잡한 if문의 단순화

오디세이99 2023. 1. 7. 18:12
728x90
반응형

(문제)

if a>b:
   if c>d:
      if e>f:
        실행코드
위의 코드에서 다시 조건을 변경해서
if a<b: # 조건변경
   if c>d:
      if e>f:
        실행코드
위의 코드에서 다시 조건을 변경해서
if a<b: 
   if c<d: # 조건변경
      if e>f:
        실행코드
위의 코드에서 다시 조건을 변경해서
if a<b: 
   if c<d: 
      if e<f: # 조건변경
        실행코드
:
:
계속 변경
 
이런식으로 조건식을 하나씩 바꿔서 다 비교를 해야합니다.
위와같이 하나하나 코드를 다입력하지 않고
단순하게 할수 있는 방법이 없을까요..?

 

 

 

(방법)

경우의 수를 사용한 코드를 만들까 했는데, 구조를 보니까 아래와 같이 하면 될 것 같습니다.

구조를 보면

if a > b: # 항상 a,b를 비교. 변하는 것은 부등호(<,>)만 변함

c,d 그리고 e,f도 구조는 같고 부등호만 변한다면 아래 코드를 사용하면 될 것 같아요.

case = ['a','b','c','d','e','f']
ineq = ['>','<']

for c1 in range(len(ineq)):
    print(case[0],ineq[c1],case[1])
    for c2 in range(len(ineq)):
        print(case[2],ineq[c2],case[3])
        for c3 in range(len(ineq)):
            print(case[4],ineq[c3],case[5])
728x90
반응형