python if문에서 두 개의 문자열 비교 방법

조회수 7884회

제목이 좀 애매한데 설명드리겠습니다.

python if문에서 문자열을 조건으로 주고 싶은데 두 개의 문자열이 들어있는지를 조건으로 주고싶습니다.

ex:

url = raw_input('>')
if 'http://' or 'https://' in url:
    print 'true'
else:
    print 'false'

예를 들자면 위와 같은 식입니다. 저대로 하면 무조건 true가 나오더라구요..

>http://www.naver.com
true

>https://www.naver.com
true

>1234
true

if문을 중복적으로 쓰면 가능하겠지만 한 줄로 가능한 방법이 있을까 해서 질문드립니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • http:// 로 시작하거나, https:// 로 시작하거나를 표현하려는 것 같네요.

    url = raw_input('>')
    if url.startswith('http://') or url.startswith('https://'):
        print 'true'
    else:
        print 'false'
    

    위와 같이 해보세요.

    • 감사합니다! 저런 식으로 가능한지는 몰랐네요 알 수 없는 사용자 2016.7.22 10:17
    • 질문자님의 코드에서 무조건 true만 나오는 이유는 뭔지 혹시 설명 부탁 드려도 될까요. 알 수 없는 사용자 2017.2.16 11:14
    • if 문에서 or를 잘못쓴 경우 입니다. 해석되는 경우를 괄호를 써서 보면 if ( 'http://' ) or ( 'https://' in url ): 이됩니다. 이 때 앞의 http://는 null이나 empty가 아니어서 true로 평가됩니다. 즉 if true or (...) 으로 쓴 것과 결과가 같습니다. 허대영(소프트웨어융합대학) 2017.2.16 16:44
    • 7개월쯤 전에 질문했던 글이네요.. 허대영님이 답변주신 내용이 맞습니다. 제가 or문을 잘못쓴 경우이구요. 맞게 쓰려면 if 조건1 in X or 조건2 in X or 조건3 in X: 이런식이 맞습니다. 지금은 저 질문에 자문자답 할 수 있게됬네요... 알 수 없는 사용자 2017.2.17 12:16
    • 와우 ㅎㅎ 대단하세요!! 저도 이제 막 열심히 공부중인데, 7개월 후에는 그렇게 될수 있으면 좋겠습니다 ㅋㅋ 알 수 없는 사용자 2017.2.17 12:19

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)