Я искал, чтобы написать программу, которая считала самую длинную алфавитную подстроку в строке. например str = 'abcdkjcd' произведет 'abcd' как самую длинную подстроку.Код подстроки подстроки Python
Используя этот сайт и некоторые объяснения и объяснения функций, я нашел ответ, который отлично поработал, однако я действительно хотел бы действительно понять код. Мое ограниченное понимание заключается в том, что он соединяет каждого символа с переменной, если он выше, чем тот, на который он смотрит в данный момент.
Я аннотировал свой код и надеялся, что кто-нибудь сможет объяснить мне 3 строки ???
s='abc' # Sets a string value
def longeststr(str): # Defines the function to work out the longest substring
longest='' # Sets up a variable to store the longest value in with an empty string
for i in range(len(str)): # Sets up the outside for loop to repeat the instructions below for the same amount of times as elements are in the string
for j in range(i+1, len (str)): #For each element in the string started from the second element to the end, do the following...
s=str[i:j+1] # Not sure??
if ''.join(sorted(s)) == s: # If when try to join a sorted list of s is equal to s? Doesn't make sense??
longest = max(longest, s, key = len) # Not sure
else:
break # Exits the loop
return 'Longest substring in alphabetical order is:' + longest # Returns value of longest string
Спасибо за любую помощь.