我正在做的练习的重点是编写一个程序,打印s
其中字母按字母顺序出现的最长子字符串。例如,如果s = 'azcbobobegghakl'
,那么您的程序应该打印:
按字母顺序排列的最长子串是:beggh
在平局的情况下,打印第一个子字符串。例如,如果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)