2016-09-08 5 views
0

저는이 질문에 많은 시간을 부탁했습니다. 그러나 나는 여기서 그것을 고치는 법을 알 수 없다 -이 특별한 경우에. 내가 추천 한 2를 빼면 if 문 내에서 같은 오류가 발생합니다. 감사합니다 코드 (적어도 그것은) "s"문자열을 가져 와서 알파벳 "주문"에 대해 측정 한 다음 알파벳순으로 긴 문자열을 출력합니다. 당신이 s 목록에 액세스 할 수 order 목록의 인덱스 j를 사용하고 있기 때문에입니다파이썬 : "IndexError : 문자열 인덱스가 범위를 벗어났습니다."초급

order = "abcdefghijklmnopqrstuvwxyz" 
s = 'abcbcdabc' 
match = "" 

for i in range(len(s)): 
for j in range(len(order)): 
    if (((i + j) - 2) < len(order) and order[i] == s[j]): 
     match += s[i] 

print("Longest substring in alphabetical order is: " + match) 
+1

's'은 무엇이고'order'는 무엇입니까? 정확히 당신이하려는 것은 무엇입니까? 문제를 요약하고, 예제 입력과 예상 출력을 보여줄 수 있습니까? – CoryKramer

+0

코드는 문자열을 가져 와서 다른 문자열 (순서)과 공통으로 가장 긴 문자열을 찾고 출력은 가장 길게 일치하는 문자열입니다. 나머지 코드로 주 코드를 편집합니다. – RepubFactor

답변

2

. jlen(s)이므로 IndexError 일 수 있습니다.

코드를 사용하여 달성하려는 작업을 알지 못합니다. 그러나 어쨌든 당신이 그것을 바꿀 수있는 것을 heres :

+0

문제는 실제로 if 문 내에 있습니다. 명확히하지 못해 죄송합니다. – RepubFactor

+0

예. 나는 그것을 놓친 것 같다. 지적 해 주셔서 감사합니다. – stuartnox

관련 문제