Всем привет!
Уже 2 дня не могу победить задание:
# Задана строка из стихотворения:
# Удалите из строки все слова, начинающиеся на букву «м».
# Результат вывести на экран в виде строки.
# Подсказка: вспомните про модификацию списков.
a = "Мой дядя самых честных правил, Когда не в шутку занемог, \
Он уважать себя заставил И лучше выдумать не мог"
a = a.split()
for i in range(len(a)): # 0,19
if a[i][0] == "М" or a[i][0] == "м":
del a[i]
На что выдает:
IndexError: list index out of range
Можно так:
a = "Мой дядя самых честных правил, Когда не в шутку занемог, \
Он уважать себя заставил И лучше выдумать не мог"
a = a.split()
for i in range(len(a) - 1): # 0,19
if a[i][0] == "М" or a[i][0] == "м":
del a[i]
И код успешно уберет первое слово, но где гарантия, что в другом списке не будет пару слов, начинающиеся на букву "м"? Тогда надо ставить range(len(a) - 2) и т.д. Мой скрипт имеет в этом изъян.
Короче вижу, что зашел в тупик, im need help!