Когда вы делаете for i in words:
, вы фактически устанавливаете 'i' как фактический элемент (в данном случае слово) из списка слов, так что вы можете видеть, что 'i' является строкой, а не целым числом.
Ваша ошибка исходит из этой строки:
past_tense.append(words[i] + 'd')
Потому что, как уже было сказано, вы не можете использовать 'i' в качестве индекса, так как это строка.
Таким образом, ваш код должен быть:
words = ["adopt", "bake", "beam", "confide", "grill", "plant", "time", "wave", "wish"]
past_tense = []
for i in words:
if i[-1] == 'e':
past_tense.append(i + 'd')
else:
past_tense.append(i + 'ed')
Или если вы используете for i in range(0,len(words)):
, что означает, что 'i' будет go от 0 до длины списка слов -1:
words = ["adopt", "bake", "beam", "confide", "grill", "plant", "time", "wave", "wish"]
past_tense = []
for i in range(0,len(words)) :
if words[i][-1] == 'e':
past_tense.append(words[i] + 'd')
else:
past_tense.append(words[i] + 'ed')