我有一個包含數千個單詞的文本文件。我必須計算按字母順序排列的單詞數量。以下是從一堆其他的代碼,我已經得到了切出:查看單詞列表並計算按字母順序排列的單詞
Counter = 0
for word in wordStr:
word = word.strip()
if len(word) > 4:
a = 0
b = 1
while word[a] < word[b]:
a += 1
b += 1
Counter += 1
return Counter
有一些明顯的事情錯在這裏,我知道,但不知道如何解決它。我的推理是這樣的:如果單詞的第一個字母是該單詞的第二個字母<,則該單詞的該部分是按字母順序排列的。所以我需要對一個單詞進行這種操作,直到我發現整個單詞是按字母順序排列或遇到字母a>字母b的情況。
此刻,我的代碼增加了計數器,當word [a] < word [b]。不過,我需要改變這個,所以只有當整個單詞是按字母順序排列時,纔會增加,而不僅僅是前兩個字母。我的另一個問題是我得到的錯誤,因爲最終while循環試圖比較字符串索引,因爲我增加a和b的方式不存在。我知道很多東西都需要重寫,我已經把邏輯壓低了......只是努力實現它。
編輯:我忘了我以前有過這個問題,有人在我的另一個問題幫助我解決它。對困惑感到抱歉。
is this homewr0K? – DarthVader 2012-07-11 19:37:51
可能的重複[你如何判斷一個單詞在python中是否按字母順序?](http://stackoverflow.com/questions/9882526/how-do-you-tell-if-a-word-is-in -alphabetical-order-in-python)以及[如何確定在Python中按字母順序拼寫的單詞](http://stackoverflow.com/questions/11388032/how-to-figure-out-if -a-word-in-spelling-in-alphabetical-order-in-python),這兩個問題都是由同一個用戶提出的! – 2012-07-11 19:39:33
只需使用'>'或'<'來匹配哪個單詞更大或更短。 – 2012-07-11 19:41:11