2014-02-11 2 views
-1

파이썬이이 문자열을 어떻게 평가하는지 설명해주십시오. 그래서 한 단어가 문자열의 다른 단어보다 큰 값으로 설정 될 수 있습니까? b> n은 어때?파이썬 문자열 및 순서?

def not_bad(s): 
    n = s.find('not') 
    b = s.find('bad') 
    if n != -1 and b != -1 and b > n: 
     s = s[:n] + 'good' + s[b+3:] 
    return s 
+0

발견은 위치를 반환합니다. http://docs.python.org/2/library/string.html#string.find – sachleen

+0

[이 질문 참조] (http://stackoverflow.com/questions/4806911/string-comparison-technique-used-by- 파이썬) – eebbesen

+0

_ '와 함께 당신의 기능을 부르십시오. 밴드가 lambada'_를 할 때 색소폰 플레이어가 잘못된 음을 쳤습니다. – pillmuncher

답변

1

bn정수 있습니다. str.find() method은 인수가있는 곳의 str 위치를 반환하고 인수가없는 경우 -1 위치를 반환합니다.

따라서, 임의의 문자열 snotbad 모두 포함 badnot 할 것 다음 : 당신이 정말 숫자를 비교하고, 그래서

>>> s = "That's not bad at all" 
>>> n = s.find('not') 
>>> b = s.find('bad') 
>>> n 
7 
>>> b 
11 
>>> b > n 
True 
>>> s[:n] + 'good' + s[b+3:] 
"That's good at all" 
+0

고맙습니다 - 이해합니다 - 이것은 통역사를 테스트하는 연습으로 매우 유용했습니다. 당신의 도움을 주셔서 감사합니다 – scopa