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


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

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문을 중복적으로 쓰면 가능하겠지만 한 줄로 가능한 방법이 있을까 해서 질문드립니다.

  • 2016년 07월 21일에 작성됨
    보안 분야 업무를 하고있으며, python개발을 주로 합니다.

조회수 1665


1 답변


좋아요
2
싫어요
채택취소하기

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

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

위와 같이 해보세요.

  • 2016년 07월 21일에 작성됨
    리눅스(유닉스) 기반의 시스템에서 웹 서비스를 개발하고 있습니다.

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

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close