何千もの単語を含むテキスト ファイルがあります。アルファベット順に並んでいる単語の数を数えなければなりません。以下は、私が持っている他のコードの束から切り出されたものです。
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
ここには明らかな問題がいくつかあり、それはわかっていますが、修正方法がわかりません。私の推論は次のとおりです。単語の最初の文字が < 単語の 2 文字目である場合、単語のその部分はアルファベット順です。したがって、単語全体がアルファベット順であることがわかるまで、または文字 a > 文字 b の状況に遭遇するまで、単語に対してこの種の操作を実行して実行する必要があります。
現時点では、私のコードは単語[a] <単語[b]のときにカウンターを増やします。ただし、最初の 2 文字だけでなく、単語全体がアルファベット順の場合にのみ増加するように、これを変更する必要があります。私のもう 1 つの問題は、a と b をインクリメントする方法が原因で、while ループが存在しない文字列インデックスを最終的に比較しようとするため、エラーが発生することです。私は多くのことを書き直す必要があることを知っており、ロジックをダウンさせました..それを実装するのに苦労しています.
編集:以前にこの問題が発生したことを忘れていたので、他の質問の誰かが解決してくれました。混乱させて申し訳ありません。