Проверка элементов строки по условию

Задача - "Напишите программу, которая проверяет введенную пользователем строку(string) на соответствие правилу: у строки нет ни одной гласной русской строчной буквы на каждой четной позиции. Пример подходящей строки: "пока!". Если строка подходит ,программа выводит на экран "какая хорошая строка", иначе "строка мне не нравится"" Из методички смог наскрести следующее:

s=input()
for i, letter in enumerate(s):
    if i%2==0:

дальше пробовал махинации с list и set ,но так и не смог сделать рабочий вариант. Как это решить?


Ответы (1 шт):

Автор решения: Zhihar

например можно так:

text = "пока"

res = all(letter not in 'аеиоуэюя' for letter in text[1::2])

print("какая хорошая строка" if res else "строка мне не нравится")

а вообще почему ломать голову?

в лоб задача решается просто

res = True

for pos in range(len(text)):
    if pos % 2 == 1 and text[pos] in 'аеиоуэюя':
        res = False
        break

if res:
    print("какая хорошая строка")
else:
    print("строка мне не нравится")

P.S.

говоря про четные позиция считал что счет начинается с 1 (первый символ, второй символ и т.д.), а не с 0

→ Ссылка