본문 바로가기
파이썬

파이썬 Python-OR 함수를 올바르게 사용

by º기록 2021. 1. 28.
반응형

가능한 중복 :


아마도 매우 기본적인 것 같지만 주변을 검색 한 후 약간 갇혀 있습니다. 나에게이 코드 줄은 문자열에 두 단어가 포함되어 있지 않기 때문에 "ELSE"를 출력해야합니다. 분명히 그렇게 간단하지 않고 이유를 알아낼 수없는 것 같습니다. 검색하기 쉽도록 문자열을 목록으로 분할했습니다. 내가 뭘 잘못하고 있죠?

string = "Johnny Was Here Yesterday"
string = string.split()

if "Bob" or "Hello" in string:
    print "IF"
else:
    print "ELSE"

 

해결 방법

 

적절한 방법은 다음과 같습니다.

if 'Bob' in text or 'Hello' in text:
    print 'IF'
else:
    print 'ELSE'

코드가 작동하지 않는 이유는 Python이 다음과 같이 평가하기 때문입니다.

if ('Bob') or ('Hello' in text):

'Bob'은 항상 True 로 평가되므로 함수는 항상 'IF'를 인쇄합니다.

그런데 str 또는 string 을 변수 이름으로 사용하는 것은 좋지 않습니다. 매우 유용한 내장 메서드 str을 덮어 쓰기 때문입니다. () 또는 라이브러리 string .

 

참조 페이지 https://stackoverflow.com/questions/14228572

 

 

반응형

댓글