<p>我在学校修了一门Python 2.7课程,他们让我们创建以下程序:</p>
<blockquote>
<p>Assume s is a string of lower case characters.</p>
<p>Write a program that prints the longest substring of s in which the letters occur in alphabetical order. </p>
<p>For example, if s = azcbobobegghakl , then your program should print</p>
<p>Longest substring in alphabetical order is: beggh</p>
<p>In the case of ties, print the first substring. </p>
<p>For example, if s = 'abcbcd', then your program should print</p>
<p>Longest substring in alphabetical order is: abc</p>
</blockquote>
<p>我写了以下代码:</p>
<pre><code>s = 'czqriqfsqteavw'
string = ''
tempIndex = 0
prev = ''
curr = ''
index = 0
while index < len(s):
curr = s[index]
if index != 0:
if curr < prev:
if len(s[tempIndex:index]) > len(string):
string = s[tempIndex:index]
tempIndex=index
elif index == len(s)-1:
if len(s[tempIndex:index]) > len(string):
string = s[tempIndex:index+1]
prev = curr
index += 1
print 'Longest substring in alphabetical order is: ' + string
</code></pre>
<p>老师还给了我们一系列的测试字符串来尝试:</p>
^{pr2}$
<p>除最后一个问题外,所有这些问题都很好,最后一个问题的答案如下:</p>
<blockquote>
<p>Longest substring in alphabetical order is: cz</p>
</blockquote>
<p>但应该说:</p>
<blockquote>
<p>Longest substring in alphabetical order is: avw</p>
</blockquote>
<p>我把密码检查了一千遍,没有发现错误。你能帮帮我吗?在</p>