if a or b in function

a=input("da")

if a=="1":
print("a")
elif a=="2":
print("b")
elif a=="3":
print("c")
elif "4" or "5" in a:
print("d")
else:
print("X")

이 경우 a의 값으로 "1","2","3"을 줬을때는 정상적으로 출력되지만, 그 외의 다른 어떤 값을 주어도 else의 "X"는 출력되지 않고 오직
elif "4" or "5" in a: 의 "d"값만 출력됩니다. 왜 그런 것인가요?

yunh2019 33

2022년 8월 2일 11:04 오후

"4" or "5" in a 조건문은 무조건 참입니다. or 앞의 "4" 가 항상 참이니까요. - 박응용님, 2022년 8월 2일 11:29 오후 추천 , 대댓글
@박응용님 잘 이해가 되지 않습니다. a안에 언제나 4가 있다는 말씀이신가요? 혹시 실례가 되지 않는다면, a안에 4나 5가 "포함되어" 있을 경우, "d"를 출력한다는 구문은 어떻게 만드는지 알려주실 수 있으실까요...? - yunh2019님, M 2022년 8월 3일 12:07 오전 추천 , 대댓글
목록으로