2014-11-05 3 views
1

find 메서드와 인덱스 메서드를 사용하지 않고 문자열 내의 하위 문자열 인덱스를 어떻게 찾을 수 있습니까? len 메서드를 반복하거나 사용해야합니까? 당신이 findindex 방법을 사용할 수없는 경우하위 문자열의 색인을 찾는 방법은 무엇입니까?

def substring_test(x,y): 
    if y in x: 
     r = True 
    else: 
     r = False 
    return r 

t = input("Enter a string: ") 
v = input("Enter a starting substring ") 
result = substring_test(sentence, substring) 
print(result) 

답변

0

는 당신이 그것을-무력 할 필요가있다. 문자열 일치 위치

  • 그렇지 않으면 증분 위치를 반환 할 경우 위치에서

    1. 시작은 0

    2. 은 문자열의 길이까지 문자 위치

    3. 에서 검색되는 취득

    4. 위치가 differenment보다 크거나 같으면 당신은이 알고리즘을 구현할 수

  • 2에 실제 문자열과 검색 문자열 반환 -1 사이 CE는

  • 그렇지 않으면처럼 이동이

    def substring_test(x, y): 
        if len(y) > len(x): 
         return -1 
        for i in range(len(x) - len(y) + 1): 
         if x[i:i+len(y)] == y: 
          return i 
        return -1 
    
  • +0

    확인 아, 설명 주셔서 감사합니다, 나는 그것이 어떻게 가능했는지 이제까지 이해할 수 없었습니다. 내게 understad – Bob

    +0

    @Bob 당신은 환영합니다 :-) 도움이된다면 [이 대답에 동의합니다] (http://meta.stackexchange.com/a/5235)하실 수 있습니다. – thefourtheye

    +0

    내가 그것을 실행할 때 무엇이든 상관없이 -1을 계속 반환합니다. – Bob

    관련 문제