Дело в том, что я делаю исключение, чтобы написать программу, которая печатает самую длинную подстроку s
, в которой буквы встречаются в алфавитном порядке. Например, если s = 'azcbobobegghakl'
, ваша программа должна напечатать:
Самая длинная подстрока в алфавитном порядке: begingh
В случае ничьей выведите первую подстроку. Например, если s = 'abcbcd'
, ваша программа должна напечатать:
Самая длинная подстрока в алфавитном порядке: abc
Я провел тесты, и он работает с большинством строк, которые я вставляю, но это проблематично.
На шаге 15 он должен сравнить 2 > 0
, что верно, но не выполняется, может кто-нибудь объяснить это? Где я ошибаюсь?
Мой код выглядит так:
s = 'zodworqozid'
curstring = [0]
longest = [0]
for i in range(1,len(s)):
if s[i] >= str(curstring[-1]):
curstring+= s[i]
if len(curstring) > len(longest):
longest = curstring
else:
curstring = s[i]
print('Longest substring in alphabetical order is:', longest)
Я использую наставник по Python, чтобы помочь визуализировать шаги
len([0]) = 1
- если вы хотите инициализировать пустой список, вы должны использоватьlongest = []
- person asongtoruin   schedule 14.02.2017