0

編集: 「hi」を「list」に更新

私は初心者で、英語の文を豚のラテン語に翻訳するプロジェクトに取り組んでいますが、文の句読点の前のスペースを削除しようとしているときに問題が発生しました。これが私が問題を抱えているスクリプトです。

import string

list = ['H', 'i', 's', 't', 'a', 'y', ' ', 's', 'i', 'a', 'y', ' ', 'a', 'a', 'y', ' ', 'e', 's', 't', 't', 'a', 'y', ' ', '.', ' ', 'H', 'i', 's', 't', 'a', 'y', ' ', 's', 'i', 'a', 'y', ' ', 'a', 'a', 'y', ' ', 'e', 's', 't', 't', 'a', 'y']

h = 0

for h in range(len(list)):
    if list[h] in string.whitespace:
        if list[h + 1] in string.punctuation:
            list.pop(h)
            h = h + 1
        else:
            h = h + 1
    else:
        h = h + 1

print(list)

実行すると、次のエラーが表示されます。

  File " ... ", line 110, in <module>
    if list[h] in string.whitespace:
IndexError: list index out of range

ループの外側で Hi[h] を出力すると、「h」のインデックス付けに問題はありません

どこで間違いを犯したか、または何を変更できるかについてのアイデアはありますか?

完全なファイルを表示するほうがよい場合は、お知らせください。

4

1 に答える 1