Untitled

Условие КЕГЭ: Тип 8 № 6479 (Уровень: Базовый) (A. Поликарпова)

Аня составляет 5-буквенные слова из букв К, A, Р, П, Ы. Каждая буква может встречаться ровно один раз. При этом в слове не могут стоять рядом две гласные буквы, а буква Р не может стоять на первом или последнем месте. Словом считается любая допустимая последовательность букв, не обязательно осмысленная. Сколько слов может составить Аня?

Вариант 1: переберем все слова используя цикл for и строку алфавита "КАРПЫ"

Вариант 1: переберем все слова используя цикл for и строку алфавита "КАРПЫ"

Комментарии к первому варианту решения:

  1. s = 'КАРПЫ' - Присваиваем переменной s значение 'КАРПЫ'.
  2. s1 = 'КАПЫ' - Присваиваем переменной s1 значение 'КАПЫ'.
  3. count = 0 - Инициализируем переменную count со значением 0.
  4. for a in s1: - Создаём цикл по символам в строке s1, используя переменную a.
  5. for b in s: - Создаём цикл по символам в строке s, используя переменную b.
  6. for c in s: - Создаём цикл по символам в строке s, используя переменную c.
  7. for d in s: - Создаём цикл по символам в строке s, используя переменную d.
  8. for e in s1: - Создаём цикл по символам в строке s1, используя переменную e.
  9. temp = a + b + c + d + e - Соединяем значения переменных a, b, c, d и e в одну строку и присваиваем ее переменной temp.
  10. if temp.count('К') == 1 and temp.count('А') == 1 and temp.count('Р') == 1 and temp.count('П') == 1 and temp.count('Ы') == 1 and temp.count('АЫ') == 0 and temp.count('ЫА') == 0: - Проверяем, что в строке temp содержится ровно 1 символ 'К', 1 символ 'А', 1 символ 'Р', 1 символ 'П', 1 символ 'Ы', не содержится комбинация 'АЫ' и не содержится комбинация 'ЫА'.
  11. count += 1 - Увеличиваем значение переменной count на 1.
  12. print(count) - Выводим значение переменной count на экран.
# Код решения Вариант 1
s = 'КАРПЫ'
s1 = 'КАПЫ'
count = 0

for a in s1:
    for b in s:
        for c in s:
            for d in s:
                for e in s1:
                    temp = a + b + c + d + e
                    if temp.count('К') == 1 and temp.count('А') == 1 and temp.count('Р') == 1 and temp.count('П') == 1 
                            and temp.count('Ы') == 1 and temp.count('АЫ') == 0 and temp.count('ЫА') == 0:
                        count += 1
print(count)

Вариант 2: решение через метод permutations из библиотеки itertools

Вариант 2: решение через метод permutations из библиотеки itertools