私はPythonとプログラミング全般に不慣れで、現在基礎を学んでいます。以下のスクリプトでは、各リスト要素の文字数を確認し、5 文字以上のものを削除しようとしています。これを実現するために for ループを使用していますが、最初に考慮された for ループの範囲に対応しないリスト要素の数が変更されたため、問題が発生しています。範囲自体を変化させようとしましたが、それでもエラーが発生します。
# -*- coding: utf-8 -*-
magicians =['alice','david','carolina']
def counter(word):
x= sum (c != ' ' for c in word)
return x
print magicians
for i in range (0,3):
magicians[i]=magicians[i].title()
print magicians
q=
Y=range (0,q)
for i in Y:
x= counter(magicians[i])
print x
if x<=5:
print 'this component will be deleted:', magicians[i]
del magicians[i]
q=q-1
Y=range (0,q)
print magicians
ありがとうございました