我想弄清楚如何將字符串中的字符與字符串中的下一個字符進行比較。舉例來說,如果我有一個字符串:在Python中比較字符串中的字符
s = 'vzcbotdebobeggglakyl'
我希望能夠到的第一個字符與第二個字符進行比較,如果第二個字符是大於或等於第一個字符(字母順序來講, < b,g> e,y = y等)我想將1加到另一個變量(基本上是一個計數器)。如果不是,我想將計數器重置爲0.基本上重複整個過程的字符串長度。如果計數器變得大於maxlen變量,則向maxlen添加一個(或者使maxlen = sublen)。我嘗試到目前爲止是(我認爲這是工作):
s = 'vzcbotdebobeggglakyl'
sublen = 1
maxlen = 0
startnum = 0
for char in s:
stopnum = startnum + 1
if stopnum < len(s):
charone = s[startnum]
chartwo = s[stopnum]
if charone <= chartwo:
sublen += 1
startnum += 1
if sublen > maxlen:
maxlen = sublen
else:
startnum +=1
sublen = 1
else:
sublen = 0
print 'Longest substring is', maxlen, 'characters.'
現在,我還要做的是有一條線打印出的字符子字符串。我一直在爲此工作五個小時,但無法做到。我嘗試了很多不同的東西,我現在基本上比現在開始時更困惑。在上面的例子中,我希望它說
Longest substring is begggl, which is 6 characters.
'begggl'但'g'不*大於*'g' ... :) –
這是大於或等於到,這就是代碼所說的;)(Damnit,我一直按回車鍵發送註釋,而不是一個新行:P)我意識到我說如果字符大於,給計數器加一個,但是我的意思是大於或等於。 – Ernesto
您的問題文本不正確,然後:「*我想能夠比較第一個字符和第二個字符,如果第二個字符更大*」:P –