<p>我在介绍计算机科学和使用Python编程时遇到了这个问题:</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. For example, if <code>s = 'azcbobobegghakl'</code>, then your program should print: Longest substring in alphabetical order is: beggh.</p>
<p>In the case of ties, print the first substring. For example, if <code>s = 'abcbcd'</code>, then your program should print: Longest substring in alphabetical order is: abc.</p>
</blockquote>
<p>我已经读了很多关于这个问题的答案(代码)。我可以说我理解这些答案背后的逻辑。你知道吗</p>
<p><strong>然而,我不能理解的是“Python如何知道答案的字母顺序是正确的?”</strong></p>
<p>以下是我在网上看到的正确代码,仅供参考:</p>
<pre><code>s = "azcbobobegghakl"
longest = current = s[0]
for i in range (len(s) - 1):
if s[i+1] >= s[i]:
current += s[i+1]
if len(current) > len(longest):
longest = current
else:
current = s[i+1]
print("Longest substring in alphabetical order is:", longest)
</code></pre>
<p>同样,我理解代码背后的逻辑。我不知道的是Python如何知道答案的字母顺序是正确的。你知道吗</p>
<p>我知道这可能是个愚蠢的问题。但由于我是编程新手,这个问题的答案对我来说意义重大。</em></p>