import random
ABC = ['А', 'Б', 'В', 'Г', 'Д', 'Е', 'Ё', 'Ж', 'З', 'И', 'К', 'Л', 'М', 'Н', 'О', 'П', 'Р', 'С', 'Т', 'У', 'Ф', 'Х', 'Ц', 'Ч', 'Ш', 'Щ', 'Ъ', 'Ы', 'Ь', 'Э', 'Ю', 'Я']
A = ['А', 'Е', 'Ё', 'И', 'О', 'У', 'Ы', 'Э', 'Ю', 'Я']
B = ['Б', 'В', 'Г', 'Д', 'Ж', 'З', 'К', 'Л', 'М', 'Н', 'П', 'Р', 'С', 'Т', 'Ф', 'Х', 'Ц', 'Ч', 'Ш', 'Щ']
creature = ''
while True:
fish = random.choices(ABC, k=8)
for i in range(2, len(fish)):
if fish[i] in A and fish[i-1] in A and fish[i-2] in A:
break
if fish[i] in B and fish[i-1] in B and fish[i-2] in B:
break
else:
creature = ''.join(fish)
break
print(creature)
Здесь мы используем бесконечный цикл
while True, чтобы генерировать случайные последовательности букв, пока не будет найдена последовательность, которая удовлетворяет условиям.
Для генерации случайных последовательностей мы используем функцию
random.choices, которой передаем список
ABC и длину последовательности
k.
Затем мы проверяем каждый элемент последовательности на предмет наличия недопустимых сочетаний гласных или согласных букв, используя цикл
for и оператор
if. Если мы находим такие сочетания, мы выходим из цикла с помощью оператора
break. Если недопустимых сочетаний нет, мы объединяем выбранные буквы в итоговую строку
creature с помощью метода
join и выходим из цикла
while True с помощью оператора
break.
Наконец, мы выводим итоговую строку на экран с помощью функции
print.