Ошибка при выполнении кода
Написал код, который должен переделывать строку "Я есть Грут. Ты нет." в "Грут есть я. Нет ты."
sentance = input().split('.')
first = []
second =[]
for word in sentance[0].split():
word = word.strip('.')
first.append(word)
for word in sentance[1].split():
word = word.strip('.')
second.append(word)
first = first.reverse()
second = second.reverse()
for i in first, second:
i[-1] = i[-1] + '.'
i[0] = i[0].title()
print(*first, *second)
При выполнении выдает ошибку:
Traceback (most recent call last):
File "test.py", line 18, in <module>
i[-1] = i[-1] + '.'
TypeError: 'NoneType' object is not subscriptable
Как это исправить?
Ответы (2 шт):
Автор решения: Сергей
→ Ссылка
Замените метод reverse на функцию reversed (и тогда всё работает так, как вы хотите):
first = list(reversed(first))
second = list(reversed(second))
В описании метода сказано, что он ничего не возвращает. А функция - возвращает. На это и ошибка указывала - NoneType часто в таких случаях получаем.
Автор решения: kazantip
→ Ссылка
sentance = input().split('.')
first = []
second = []
for word in sentance[0].split():
word = word.strip('.')
first.append(word)
for word in sentance[1].split():
word = word.strip('.')
second.append(word)
first.reverse()
second.reverse()
for i in first, second:
i[-1] = i[-1] + '.'
i[0] = i[0].title()
print(*first, *second)
Так возможно заработает