當爲給定任務執行我的代碼時,我會持續獲取最長的字符串和迭代中的下一個字母。例如,如果我用查找給定字符串中按字母順序排列的字母的最長子串
s = 'azcbobobegghakl'
我會得到"beggha"
作爲最長的字符串,當答案應該是"beggh"
。我嘗試過的所有隨機字母串都會發生同樣的錯誤。
我發現在「result + = letters」語句後附加了額外的字母,但我不知道如何解決它。這裏是我的代碼:
s = 'azcbobobegghakl'
result = []
final = []
for letters in s:
result += letters
if result == sorted(result) and len(result) >= len(final):
final=result
elif result != sorted(result):
result = [result[len(result)-1]]
print "".join(final)
我真的不知道爲什麼這個問題值得贊成。雖然這顯然是功課,但OP表明了一個明確的問題,並努力自行解決。不知道增強賦值運算符的微妙之處是否值得低估? – timgeb