파이썬 if 문 질문 드립니다..

per1 = ".25"
per2  = ".75"
if row[23] == 'sale1' or row[23] == 'sale2':
    if row[27].find(per1) == -1:
        cursor.execute(sql)
else:
    cursor.execute(sql)

또는 

per2  = ".75"
if row[23] == 'sale1' or row[23] == 'sale2':
    if row[27].find(per2) == -1:
        cursor.execute(sql)
else:
    cursor.execute(sql)


이렇게 하면 제대로 걸러지는데 

per1 = ".25"
per2  = ".75"
if row[23] == 'sale1' or row[23] == 'sale2':
    if row[27].find(per1) == -1 and row[27].find(per2) == -1:
        cursor.execute(sql)
else:
    cursor.execute(sql)
이런경우 전혀 걸러지지 않네요..
왜그런걸까요?
  • or 가 합집합이에요. and 은 교집합이구요. if row[27].find(per1) == -1 or row[27].find(per2) == -1: 로 하세요 정영훈 2018.5.14 15:17

1답변

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.