Я работал над вопросом, чтобы найти самую длинную подстроку в алфавитном порядке из данной строки. У меня большой опыт работы с C++, но я абсолютно новичок в python. Я написал этот код
s = raw_input("Enter a sentence:")
a=0 #start int
b=0 #end integer
l=0 #length
i=0
for i in range(len(s)-1):
j=i
if j!=len(s)-1:
while s[j]<=s[j+1]:
j+=1
if j-i>l: #length of current longest substring is greater than stored substring
l=j-i
a=i
b=j
print 'Longest alphabetical string is ',s[i:j]
Но я продолжаю получать эту ошибку
Traceback (most recent call last):
File "E:/python/alphabetical.py", line 13, in <module>
while s[j]<=s[j+1]:
IndexError: string index out of range
Что я здесь делаю неправильно? Опять же, я очень новичок в python!
s[a:b]
вместоs[i:j]
. - person Michael Burr   schedule 26.10.2013a -> start_index
,b -> end_index
,l -> length
[кстати, никогда не используйте строчные буквыL
. во многих шрифтах он слишком похож на1
].i
иj
допустимы, поскольку они являются стандартными именами для индексов. - person Bakuriu   schedule 26.10.2013