반응형
가능한 중복 :
아마도 매우 기본적인 것 같지만 주변을 검색 한 후 약간 갇혀 있습니다. 나에게이 코드 줄은 문자열에 두 단어가 포함되어 있지 않기 때문에 "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
반응형
'파이썬' 카테고리의 다른 글
파이썬 데이터 프레임 목록을 다중 시트 Excel 스프레드 시트에 저장 (0) | 2021.01.29 |
---|---|
파이썬 Python의 중첩 된 JSON 사전 내에서 값 찾기 (0) | 2021.01.29 |
파이썬 목록에서 NoneType 요소를 제거하는 네이티브 Python 함수? (0) | 2021.01.28 |
파이썬에서 한 줄의 코드에 n 개의 문자열을 어떻게 생성합니까? (0) | 2021.01.28 |
파이썬 Python으로 종속성 그래프 작성 (0) | 2021.01.28 |
댓글