На этом форуме отвечают на конкретные вопросы. Фраза «я не понимаю, как решать» — это не вопрос. На вопрос «как решить задачу №X» вас отошлют к материалам сайта kpolyakov.spb.ru. За бессвязный поток слов и неспособность формулировать свои мысли — бан.
Если у вас не сходится ответ на какую-то задачу, пожалуйста сразу представляйте свое «правильное» решение.
Программы "заворачивайте" в тэг [pre2]...[/pre2], при этом сохраняются все отступы и применяется моноширинный шрифт. Если у вас используется сочетание "[i]" для обозначения элемента массива или строки, ставьте пробел после открывающей скобки. Иначе система выделит все дальнейшее курсивом.
Для регистрации на форуме щелкните по ссылке «Вход-регистрация» вверху страницы. В открывшееся окошко «ник» введите свою фамилию на русском языке (например, Иванов). В окошко «пароль» введите придуманный вами пароль, состоящий из латинских букв и цифр. Поставьте галочку в окошке «зарегистрироваться, я новый участник» и нажмите кнопку «ОК».
Требование: Определите в этом списке количество слов с чётными номерами, которые содержат как минимум две буквы Р, между которыми стоит одна другая буква (например, РАР или РСР) и при этом не содержат в своей записи ни одной буквы У.
Я поняла так, что не должно быть РРР в слове, а сочетания типа РР?Р и тп допускаются. Но ответ не сходится. У меня 233, в ответе 235. В чем я ошибаюсь? Вот решение:
from itertools import * from fnmatch import fnmatch
alf = sorted('АЭРОБУС') mask = '*Р?Р*' ans = [] for i, s in enumerate(product(alf, repeat=5), 1): sl = ''.join(s) if sl.count('У') == 0 and fnmatch(sl, mask): if i % 2 == 0 and 'РРР' not in sl: ans.append((i, sl)) print(len(ans)) print(ans)
Отправлено: 13.03.26 10:25. Заголовок: from itertools impo..
from itertools import product
A = sorted("АЭРОБУС")
count = 0 i = 1 for w in sorted(product(A, repeat=5)): s = ''.join(w) for c in "АЭОБУС": s = s.replace(c, '.') if i % 2 == 0 and 'Р.Р' in s and w.count('У') == 0: count += 1 i += 1
Здравствуйте, Константин Юрьевич. Спасибо за код, но у меня все же остался вопрос: корректно ли включать в ответ вот эти слова: {'РБРРР', 'РРРБР'} (это те два слова, которыми отличается мой ответ от ответа из Вашего решения). Мне кажется, что они все-таки нарушают условие: "как минимум две буквы Р, между которыми стоит одна другая буква". Буду признательна за пояснение к условию.
Все даты в формате GMT
3 час. Хитов сегодня: 80
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет