Regex не может иметь разницу больше 3Python

Программы на Python
Anonymous
Regex не может иметь разницу больше 3

Сообщение Anonymous »


У меня есть проблема.

Рассмотрим игру, в которой в мешке находится равное количество синих и красных шаров. Цель состоит в том, чтобы случайным образом вытягивать из мешка по одному шарику и помещать его на весы с двумя чашками. В одну кастрюлю поместите красные шарики, а в другую — синие. Игра проиграна, если в любой момент на одной из сковородок окажется на 3 шара больше, чем на другой. Игра выиграна, когда все шары будут помещены на весы.

Цель — написать регулярное выражение, проверяющее, выиграна или проиграна игра.

Для тестирования я использовал Python.

Я сделал это:

^(?:(?:R{0,2}B){0,3}R{0,2})$ но это не работает, если количество R или B больше 3. Например, RBRBRBRB должно работать, но с моим выражением — нет. RBBRRB работает нормально.

импортировать повторно # Регулярное выражение для проверки того, выиграл ли игрок игру регулярное выражение = re.compile(r'^(?:(?:V{0,2}A){0,3}V{0,2})$') # Примеры выигрышных последовательностей шаров win_sequences = ['AVAVAVAV', 'AVAVAV', 'AVAVVA'] # Примеры последовательностей проигрыша мяча loss_sequences = ['AAA', 'VVV', 'AVAVAAA'] # Проверка выигрышных последовательностей для последовательности в win_sequences: если regex.match(последовательность): print(f'Последовательность «{sequence}» выигрывает игру.') еще: print(f'Последовательность «{sequence}» не выигрывает игру.') # Проверка проигрышных последовательностей для последовательности в loss_sequences: если regex.match(последовательность): print(f'Последовательность «{sequence}» выигрывает игру.') еще: print(f'Последовательность «{sequence}» не выигрывает игру.') Можете ли вы дать несколько советов и рассказать, что я могу сделать?

Вернуться в «Python»