ПРОЩАЙ ТАБЛИЦА. ЛУЧШИЙ СПОСОБ 19-21 ЧЕРЕЗ КОД Python // ЕГЭ Информатика 2021

  Рет қаралды 100,758

Информатик Родя

Информатик Родя

Күн бұрын

КОДОВОЕ СЛОВО ПИСАТЬ СЮДА 👉 vk.me/rodya_inf
Варианты записи в мастер-группы тут:
market-...
Тут все важные новости меня и курсов:
t.me/rodya_inf
Оригинальное объяснение от автора способа - • ЕГЭ 19-21. Решаем теор...

Пікірлер: 183
@vibg21
@vibg21 2 жыл бұрын
сидела четыре часа в умскуле не могла понять, че от меня хотят и как это решать, с твоим объяснением теперь решаю это за пять минут!
@ElectroPlayer3
@ElectroPlayer3 2 жыл бұрын
Впервые, когда я посмотрел это видео, была вторая четверть. Сейчас уже завтра будет экзамен и до меня только дошло, как же всё таки решать кодом...
@sheward7654
@sheward7654 3 жыл бұрын
По поводу превышения максимальной глубины рекурсии. Есть такая штука интересная, как import sys sys.setrecursionlimit(None) ну или любое огромное число, которое делает вашу глубину рекурсии настолько большой, насколько это позволяет память компьютера. Но будьте бдительны! Если проблема в зацикливании и БЕСКОНЕЧНОЙ рекурсии, комп может крашнуться(в лучшем случае вылетит Python). А если рекурсия не бесконечна, но ей просто не хватает дефолтной глубины-это выход из ситуации. Частенько в 15 или 16 может помочь
@izdos523
@izdos523 2 жыл бұрын
Спасибо за объяснение. Сильно помог
@user-bs6nf6uj6w
@user-bs6nf6uj6w 3 жыл бұрын
Спасибо за разбор, оказывается все так легко =))
@ЮлияАлександрова-ц8щ
@ЮлияАлександрова-ц8щ 3 жыл бұрын
рассуждения подобны тем,что в случае с таблицами но кодом значения искать действительно намного проще и быстрее ;))
@AlterLZT
@AlterLZT Жыл бұрын
32:10 Я правильно понимаю, что все-таки правильнее будет писать if game(m) == 'B1' or game(m) == 'B2', т.к например при условии, что нужно найти минимальное значение нам будет значение, которое мы получим при 'B2'?
@glasterglasterovi4402
@glasterglasterovi4402 3 жыл бұрын
Кодовое слово: БОТАТЬ НУЖНО КАЖДЫЙ ДЕНЬ
@soulcrunch.
@soulcrunch. 2 жыл бұрын
Щас еду на экзамен,готовился только с Родей.Позже скажу как написал)
@getstickbugged_lol950
@getstickbugged_lol950 2 жыл бұрын
Ну?)
@School-gg5it
@School-gg5it Жыл бұрын
@@getstickbugged_lol950 он умер
@timerkhan1
@timerkhan1 Жыл бұрын
Ну что, как написал ?
@ТагирМухаметзянов-п5з
@ТагирМухаметзянов-п5з 3 жыл бұрын
v celom o4en ne plohoi kanal, mnogo poleznoi infi)
@ukladowshpai
@ukladowshpai Жыл бұрын
Спасибо вам!
@GriIizZzlyBear
@GriIizZzlyBear 3 жыл бұрын
Браво!!!
@АннаЗдвижкова-д9й
@АннаЗдвижкова-д9й 3 жыл бұрын
Здравствуйте, подскажите, каким приложением пользуетесь для записи решения поверх экрана
@codeinium
@codeinium 3 жыл бұрын
epic pen
@БриллиантовыйДемон
@БриллиантовыйДемон 2 жыл бұрын
почему пишет unindent does not match any indentation level? я и переписывала, и вроде по отступам у меня всё хорошо, но выдаёт раз за разом ошибку
@Anibossx
@Anibossx 3 жыл бұрын
Просто лучший
@mxximka
@mxximka 2 жыл бұрын
пасиба большое
@Shprotus_
@Shprotus_ Жыл бұрын
Я умоляю, кто читает помогите, я уже за...лся. Я посмотрел уже разбор Алексея Кабанова, этот посмотрел. Я начинаю делать ЕГЭ, но остановился на 19-21 задании с уменьшением камней в двух кучах(где камни округляются в меньшую) просто как в тупике, пытаюсь все-таки понять, но не получается. Зато когда делаю условие с округлением в большую, все работает. Хочу уже научиться и делать другое. Я один раз подошел к компу, сделал, скопировал в точности со своими значениями, не сработало, второй раз через неделю, опять, сегодня тоже ни..ра не выходит. Вот разобрано с уменьшением и округлением в большую, а в меньшую не видел разборов. попытался тут посмотреть объяснение, может тут не как у Кабанова, в итоге просто скопировал решение задания начавшегося в 38:32 (52:23 готовый код получился, он у меня тоже работает), поменял if h[0]
@rodya_inf
@rodya_inf Жыл бұрын
Как ты округляешь в меньшую?
@Shprotus_
@Shprotus_ Жыл бұрын
Я видел как округляют в большую, сделал также в меньшую в условии, допустим а=21, тогда ((а-1)//2(=10),b) в меньшую, если в большую то ((а+1)//2(=11),b). Я вообще в питоне чайник, мне хотя-бы просто формулы под каждый тип задания выучить. Вот видео kzbin.info/www/bejne/qp3Eq5euoLOIp5o , там на 2:32:40 видно в формуле округление в большую и ответы сходятся в итоге. Или как еще? Этот момент я тоже поменял if h[0]
@rodya_inf
@rodya_inf Жыл бұрын
@@Shprotus_ Считаем. Мы округляем в меньшую сторону число х. Формула твоя (x - 1) // 2. При х = 21 получаем 20 // 2 = 10. Все верно, округлили в меньшую. Берем четное число х = 20, подставляем, получаем 19 // 2 = 9. А верный ответ 10, зачем нам четное куда-то "округлять". Вот и вся твоя догадка рассыпалась об простейшее подставление четного числа. Верное округление в меньшую сторону выглядит как x // 2. Деление нацело и округляет в меньшую сторону. На будущее - проверяй свои догадки. Пытаться угадать это хорошо и правильно, так и придумываются формулы. Что-то подставляем пробуем как кажется, самое главное это ПРОВЕРИТЬ. Ты этого не сделал, в этом и ошибка
@Shprotus_
@Shprotus_ Жыл бұрын
​@@rodya_inf спасибо вам большое
@Shprotus_
@Shprotus_ Жыл бұрын
@@rodya_inf нет, серьезно спасибо, я понимаю, что у вас таких чайников как я, задающих вопросов куча, но вы выделили свое свободное время, с первой зарплаты вам закину когда-нибудь, а пока спасибо
@3vlore
@3vlore 3 жыл бұрын
осторожней с этим скриптом
@АлександрМежов-и3е
@АлександрМежов-и3е 2 жыл бұрын
Спасибо! А как быть, если условие выигрыша такое: Игра завершается в тот момент, когда количество камней в куче становится не менее 20. Если при этом в куче оказалось не более 30 камней, то победителем считается игрок, сделавший последний ход. В противном случае победителем становится его противник. В начальный момент в куче было S камней, 1 ≤ S ≤ 19.
@X3osha
@X3osha 2 жыл бұрын
пытался как-то это сделать, не смог. Решил новым кодом Кабанова
@X3osha
@X3osha 2 жыл бұрын
kzbin.info/www/bejne/qp3Eq5euoLOIp5o&ab_channel=%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B5%D0%B9%D0%9A%D0%B0%D0%B1%D0%B0%D0%BD%D0%BE%D0%B2 нашел, но я делал также, почему-то не выходило)
@mxximka
@mxximka 2 жыл бұрын
def moves(h): return h + 1, 2 * h from functools import lru_cache @lru_cache(None) def game(h): if 42
@mxximka
@mxximka 2 жыл бұрын
@@X3osha def moves(h): return h + 1, 2 * h from functools import lru_cache @lru_cache(None) def game(h): if 42
@synthfur05
@synthfur05 2 жыл бұрын
@@mxximka а что за задание?
@LinkerSharp
@LinkerSharp 3 жыл бұрын
не знаю как у вас, но почему-то на две кучи оно у меня не выводит В1
@Yaroslav_Mudry
@Yaroslav_Mudry 3 жыл бұрын
такая же хрень
@LinkerSharp
@LinkerSharp 3 жыл бұрын
@@Yaroslav_Mudry да, я не знаю как, но это так происходит...
@Yaroslav_Mudry
@Yaroslav_Mudry 3 жыл бұрын
а, не, это у меня в коде ошибка. Проверь, может у тебя тоже
@LinkerSharp
@LinkerSharp 3 жыл бұрын
@@Yaroslav_Mudry может
@Yaroslav_Mudry
@Yaroslav_Mudry 3 жыл бұрын
@@LinkerSharp там у меня в мувиз была проблема: опечатка, когда условие писал (a + 1,b)...
@and1w
@and1w Жыл бұрын
Родя, а как же выпуск 2023 года. Как записаться в мг и будут ли видео на канале? Буду ждать ответа, даже если пройдут года...
@rodya_inf
@rodya_inf Жыл бұрын
ДА БУДУТ!!! Обязательно... я обязательно возьму себя в руки и начну их записывать. Я уже почти на грани и есть чувство что очень скоро я начну ебашить как в старые добрые. Мастер-группа при этом живет и процветает без открытых вебинаров, запись открыта вот тут vk.com/market-184334060
@hit_by_pitch
@hit_by_pitch 3 жыл бұрын
Здравствуйте, подскажите пожалуйста, что делать если просят возвести одно из чисел в куче в квадрат, если я пишу такую строку return (a ** 2, b), (a, b ** 2) мне выдаёт ошибку
@ilyazheprog
@ilyazheprog 3 жыл бұрын
не будет такого
@collapse5485
@collapse5485 2 жыл бұрын
подставляй s с двойки а не с 1
@user-ss4st3ho9o
@user-ss4st3ho9o Жыл бұрын
а почему код ничего не выводить лишь то что процесс завершен с кодом выхода 0
@sfarx7167
@sfarx7167 3 жыл бұрын
Прикольный метод
@afterdark077
@afterdark077 3 жыл бұрын
ногами быстрее
@такпросто-ж2п
@такпросто-ж2п 3 жыл бұрын
Можно не math.ceil(a/2) , а (a+1)//2
@korob0chka997
@korob0chka997 2 жыл бұрын
Можно а - а//2
@Denis-bu4ri
@Denis-bu4ri 3 жыл бұрын
Будет ли разбор работы , СТАТГРАД 13 мая по информатике за 10-ый класс ?
@delovit34
@delovit34 3 жыл бұрын
Руками решаю 19) - 5 мин. 20) 10 мин. 21) 5 мин
@ybrbnf333
@ybrbnf333 3 жыл бұрын
Я 27 руками решаю за 15 мин
@dread9011
@dread9011 3 жыл бұрын
Тут короче этот код не может решить 19 задачу, лол Задача 19: Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в кучу один камень или увеличить количество камней в куче в четыре раза. Например, имея кучу из 10 камней, за один ход можно получить кучу из 11 или из 40 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней. Игра завершается в тот момент, когда количество камней в куче превышает 80. Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу, в которой будет 81 или больше камней. В начальный момент в куче было S камней, 1 ≤ S ≤ 80. Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока - значит, описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника. В описание выигрышной стратегии не следует включать ходы следующего стратегии игрока, которые не являются для него безусловно выигрышными. Известно, что Ваня выиграл своим первым ходом после неудачного первого хода Пети. Укажите минимальное значение S, когда такая ситуация возможна. Код: from functools import lru_cache def moves(h): a = h return (a+1), (a*4) @lru_cache(None) def game(h): a = h if a >= 81: return "Win" if any(game(m)=="Win" for m in moves(h)): return "P1" if all(game(m)=="P1" for m in moves(h)): return "V1" if any(game(m)=="V1" for m in moves(h)): return "P2" if all(game(m)=="P1" or game(m)=="P2" for m in moves(h)): return "V2" for s in range(1, 81): h = s print(s,game(h)) Консоль: 1 None 2 None 3 None 4 None 5 P2 6 None 7 None 8 None 9 None 10 None 11 None 12 None 13 None 14 None 15 None 16 None 17 None 18 V2 19 P2 20 V1 21 P1 22 P1 23 P1 24 P1 .... и тд Петя выигрывает первым ходом Ответ: 6 Загвоздка в том, что при значении 6 у нас None, и так со всеми задачами 19 этим кодом, при этом 20 и 21 задачу он решает отлично Либо я тупой и где-то облопошился, либо это Magic...
@Ssmooth_operator
@Ssmooth_operator 3 жыл бұрын
All на any поменял?
@Ssmooth_operator
@Ssmooth_operator 3 жыл бұрын
Поменяй
@dread9011
@dread9011 3 жыл бұрын
@@Ssmooth_operator где именно поменять, там вроде все так стоит
@Ssmooth_operator
@Ssmooth_operator 3 жыл бұрын
23 строчка кода
@Ssmooth_operator
@Ssmooth_operator 3 жыл бұрын
@@dread9011 он в видосе говорил, что когда 19 делаешь, надо поменять
@codeceo
@codeceo 3 жыл бұрын
Нашёл гроб этого способа. Чуть позже скину, если активность будет под комментом
@zimic_
@zimic_ 3 жыл бұрын
Скинь пожалуйста, очень надо)
@codeceo
@codeceo 3 жыл бұрын
@@zimic_ О, спасибо, что напомнил. Ща
@codeceo
@codeceo 3 жыл бұрын
Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в одну из куч один камень или увеличить количество камней в куче в два раза. Например, пусть в одной куче 5 камней, а в другой 9 камней; такую позицию мы будем обозначать (5, 9). За один ход из позиции (5, 9) можно получить любую из четырёх позиций: (6, 9), (10, 9), (5, 10), (5, 18). Чтобы делать ходы, у каждого игрока есть неограниченное количество камней. Игра завершается в тот момент, когда суммарное количество камней в кучах становится не менее 77. Победителем считается игрок, сделавший последний ход, то есть первым получивший позицию, в которой в кучах будет 77 или больше камней. В начальный момент в первой куче было 8 камней, во второй куче - S камней, 1 ≤ S ≤ 68. Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Известно, что Ваня выиграл своим первым ходом после неудачного первого хода Пети. Назовите минимальное значение S, при котором это возможно. Для игры, описанной в задании 19, найдите все такие значения S, при которых у Пети есть выигрышная стратегия, причём Петя не может выиграть первым ходом, но может выиграть своим вторым ходом независимо от того, как будет ходить Ваня. Найденные значения запишите в ответе в порядке возрастания. Для игры, описанной в задании 19, укажите максимальное значение S, при котором у Вани есть выигрышная стратегия, позволяющая ему выиграть при любой игре Пети. Ответы: 21 20 34 39 40
@russianpokemon2484
@russianpokemon2484 3 жыл бұрын
@@codeceo Либо не вижу подводных камней,либо ответы не те по-другому способу ручками получается как с кодом, кроме небольшой проблемы 18 17, 30, 33(ручками 34,но оно не подходит) 29 и как бы,почему нет? ps 40 точно быть не может,ибо Петя на первом ходу получить 88 может
@thenipple2285
@thenipple2285 3 жыл бұрын
@@codeceo Ответы: 19)18 20)173033 21)29 Все по тому способу! Задание 20 и 21: #+1,*2 #>=77 #1
@bikzy5516
@bikzy5516 3 жыл бұрын
А что, если дают только ОДНУ кучу?
@antonmoskvinov
@antonmoskvinov 3 жыл бұрын
Тогда там и руками дел на пару минут
@АртёмСмирнов-л1л
@АртёмСмирнов-л1л 3 жыл бұрын
Там легко кодом тоже, лень писать правда
@АртёмТягельский
@АртёмТягельский 3 жыл бұрын
from functools import lru_cache def moves(h): return (h+1), (h*3-2) @lru_cache(None) def game(h): if h>=40: return 'W' if any(game(m)=='W'for m in moves(h)): return 'P1' if all(game(m)=='P1'for m in moves(h)): return 'B1' if any(game(m)=='B1'for m in moves(h)): return 'P2' if all(game(m)=='P1' or game(m)== 'P2' for m in moves(h)): return 'B2' for s in range(2,40): if game((s)) is not None: print(s, game((s)))
@АртёмТягельский
@АртёмТягельский 3 жыл бұрын
@@АртёмСмирнов-л1л вот код, если надо. По сути меняется только sum(h) на h. from functools import lru_cache def moves(h): return (h+1), (h*3-2) @lru_cache(None) def game(h): if h>=40: return 'W' if any(game(m)=='W'for m in moves(h)): return 'P1' if all(game(m)=='P1'for m in moves(h)): return 'B1' if any(game(m)=='B1'for m in moves(h)): return 'P2' if all(game(m)=='P1' or game(m)== 'P2' for m in moves(h)): return 'B2' for s in range(2,40): if game((s)) is not None: print(s, game((s)))
@АртёмСмирнов-л1л
@АртёмСмирнов-л1л 3 жыл бұрын
@@АртёмТягельский спасибо Артём, до встрече на егэ
@ГришаСорокин-г8з
@ГришаСорокин-г8з 3 жыл бұрын
Скажите пожалуйста, насколько вероятно, что эти задачи будут в егэ 2022?
@rezexpc
@rezexpc 3 жыл бұрын
большая вероятность мб только цифры изменят задание а так задачи такого типа будут.
@sbornik_
@sbornik_ 3 жыл бұрын
Здравствуйте, подскажите пожалуйста: какие программы будут на компьютере во время егэ? в начале года учитель спросила у меня, какой программой я буду пользоваться. я думал, что ей это нужно просто для того, чтобы мы писали пробники у нее и я без задней мысли сказал, что паскаль, хотя еще тогда не знал, что начну в итоге учить питон. она не давала никаких бумажек или еще чего и не предупредила, что эта информация будет куда-то отправлена или еще чего. поясняю: она довольно строгая и по-честному я ее боюсь, но факт есть факт. Она начала меня пугать, что если я в начале года сказал ей один раз, что буду заниматься на паскале, то у меня уже питона не будет на егэ. подскажите, это правда? если да, то почему у меня был питон на апробации? ведь через консоль им тоже можно пользоваться по идее.
@КЛАУДАМ_НАПРОКАЛО
@КЛАУДАМ_НАПРОКАЛО 3 жыл бұрын
Питон и Паскаль будут 100%, не ссы
@xvii5753
@xvii5753 3 жыл бұрын
На всех компьютерах на егэ будет одинаковое ПО. И если в заданиях егэ есть питон, то и на компе он будет. Другое дело пайчарм могут не поставить из-за того что компы слабые или еще какой-то херни, но это фигня, можно блокнот в idle отрыть и будет норм, только без эммета. Поэтому не бойся ни егэ, ни уж тем более училки. Камон, тебе скоро 18, а ты какую-то тетку боишься) Да пошла она
@fraudik
@fraudik 3 жыл бұрын
@@xvii5753 не совсем. ПО в разных регионах разное. Должны быть ЯП пайтон, паскаль и т.д. , но что именно -- решает регион. Может он интерпретатор поставит. Голый. У меня такое уже было.
@xvii5753
@xvii5753 3 жыл бұрын
@@fraudik Я имел в виду в отдельно взятой школе на всех компьютерах одинаковое ПО. Я про «голый» интерпретатор как раз и написал в своем комментарии)
@fraudik
@fraudik 3 жыл бұрын
@@xvii5753 понятно ) Да, в одном регионе так и будет. Честно? Писать на чистом интерпретаторе -- очень неприятно. И я бы на экзамене так делать совсем не хотел бы.
@Олег-л5ю2п
@Олег-л5ю2п 3 жыл бұрын
Крутяк
@instager9130
@instager9130 2 жыл бұрын
чата нет напишу в коменты что руками быстрее
@bochkareffsasha
@bochkareffsasha 3 жыл бұрын
Лайк за лимонад
@Ogbosh
@Ogbosh 3 жыл бұрын
шеф, есть проблема: при s>=361 - победа 1
@TheAleksandr04
@TheAleksandr04 2 жыл бұрын
Просто добавь перед началом кода: import sys sys.setrecursionlimit(5000) Это повысит лимит рекурсии и всё будет работать.
@MAKILI64
@MAKILI64 Жыл бұрын
Подскажите пожалуйста, как решать задачи с одной кучей, если ходы не могут повторяться
@ukladowshpai
@ukladowshpai Жыл бұрын
думаю вручную, хотя думаю я поздновато ответил)
@ИванТрофимов-х7д
@ИванТрофимов-х7д Жыл бұрын
в ручную топ
@champloot
@champloot Жыл бұрын
А как решать, если есть запрет на повторение своего предыдущего хода?
@Frensski
@Frensski 8 ай бұрын
никак.
@kotik7493
@kotik7493 Жыл бұрын
36:50 ахахахахахахахаха
@ЭмануэльАмирагян
@ЭмануэльАмирагян 3 жыл бұрын
кто может видос скинуть где с одной кучой решают в экселе ?
@mariakovaleva1222
@mariakovaleva1222 3 жыл бұрын
для задачи с уменьшением можно же использовать в moves(h) такой return: a//2 + a%2 ?
@khsdf404
@khsdf404 3 жыл бұрын
При делении однёрки получится всё та же однёрка, нет? 0 + 1
@mariakovaleva1222
@mariakovaleva1222 3 жыл бұрын
@@khsdf404 она по условию задачи так и должна получиться, поэтому мы там прописывали if h[0]
@killeddelirium7383
@killeddelirium7383 3 жыл бұрын
27:40
@АланХаитов-ы6г
@АланХаитов-ы6г Жыл бұрын
а если дана одна куча?
@rusbutterfly
@rusbutterfly 2 жыл бұрын
Что будет, если не импортировать lru_cache ?
@Misha-775
@Misha-775 2 жыл бұрын
Программа будет очень долго выдавать ответ (от минуты до целого дня, смотря какая рекурсия) )
@xtrmmp-xs6en
@xtrmmp-xs6en 8 ай бұрын
запись будет?
@exissss
@exissss 3 жыл бұрын
А хде таймкоды???)))
@cccyyy6261
@cccyyy6261 3 жыл бұрын
Почему у меня в любом случае выдает none
@АртёмТягельский
@АртёмТягельский 3 жыл бұрын
Это странно, может ты где-то ошибся. Попробуй этот код: from functools import lru_cache def moves(h): a,b =h; return (a+1, b), (a, b+1), (a*2, b), (a, b*2) @lru_cache(None) def game(h): if sum(h)>=77: return 'W' if any(game(m)=='W' for m in moves(h)): return 'P1' if all(game(m)=='P1'for m in moves(h)): return 'B1' if any(game(m)=='B1'for m in moves(h)): return 'P2' if all(game(m)=='P1' or game(m)=='P2'for m in moves(h)): return 'B2' for s in range (8,69): if game((8,s)) is not None: print(s, game((8,s)))
@dlavvrik
@dlavvrik 3 жыл бұрын
У меня в условии задачи было +1 или умножить в 3 раза В таком случае код не выдал правильный ответ
@TheNadvista
@TheNadvista 3 жыл бұрын
просто поменять moves
@ПосиЩвырыдов
@ПосиЩвырыдов 3 жыл бұрын
@@TheNadvistaэто как
@ReyKapcher
@ReyKapcher 2 жыл бұрын
Ряльно, руками быстрее
@moro7568
@moro7568 3 жыл бұрын
Этот код не работает, когда куча в квадрат возводится.
@alexusfed2908
@alexusfed2908 2 жыл бұрын
они же в уме решаются
@sickomode8130
@sickomode8130 3 жыл бұрын
Объясните пожалуйста from functools import lru_cache Это что такое, и откуда оно берётся, это на есть на экзамене?
@drimkaa
@drimkaa 3 жыл бұрын
Мемоизация (запоминание, от англ. memoization) - в программировании сохранение результатов выполнения функций для предотвращения повторных вычислений. Это один из способов оптимизации, применяемый для увеличения скорости выполнения компьютерных программ. Перед вызовом функции проверяется, вызывалась ли функция ранее: 😶если не вызывалась, то функция вызывается, и результат её выполнения сохраняется; 😶если вызывалась, то используется сохранённый результат. для мемоизации и нужен декоратор @lru_cache
@exissss
@exissss 3 жыл бұрын
9:07 да, есть
@poryadin4365
@poryadin4365 3 жыл бұрын
ImportError: cannot import name lru_cache. Сталкивался кто?
@abuzdev
@abuzdev 3 жыл бұрын
from functools import lru_cache
@gr-hk4sb
@gr-hk4sb 3 жыл бұрын
lru_cache - первая буква 'л'
@poryadin4365
@poryadin4365 3 жыл бұрын
Проблему решил. Работает только на 3 версии питона, на старых не робит
@rainbowice341
@rainbowice341 3 жыл бұрын
хмм, а что делать если не 2 кучи, а 1?
@ggpip
@ggpip 3 жыл бұрын
На ЕГЭ будут 2 кучи
@jinchengzhang7913
@jinchengzhang7913 3 жыл бұрын
вместо a и b просто h, вместо sum(h) просто h, в ифе и принте просто s без второго числа
@rainbowice341
@rainbowice341 3 жыл бұрын
@@ggpip а вот возьмут и сделают 1
@rainbowice341
@rainbowice341 3 жыл бұрын
@@jinchengzhang7913 спасибо
@ggpip
@ggpip 3 жыл бұрын
@@rainbowice341 net
@danil_ka5146
@danil_ka5146 3 жыл бұрын
Может кто скинуть код с одной кучей?
@pccrofficial
@pccrofficial 3 жыл бұрын
# одна куча камней (то же самое, что и 2 практически) # from functools import lru_cache # def moves(h): # a = h # return (a + 1), ((a * 3) - 1) # @lru_cache(None) # def game(h): # a = h # check = lambda *condition: (game(m) in condition for m in moves(h)) # if a >= 33: return 'W' # if any(check('W')): return 'P1' # if all(check('P1')): return 'V1' # if any(check('V1')): return 'P2' # if all(check('P1', 'P2')): return 'V2' # for s in range(1, 33): # print(s, game(s))
@r-4spberry
@r-4spberry 3 жыл бұрын
Все прекрасно, только не меморизация, а мемоизация.
@rodya_inf
@rodya_inf 3 жыл бұрын
реально
@r-4spberry
@r-4spberry 3 жыл бұрын
@@rodya_inf Сам удивляюсь.
@thebest-bp9kb
@thebest-bp9kb 3 жыл бұрын
Что означает is not none?
@xvii5753
@xvii5753 3 жыл бұрын
None это когда нет значения. Например функция ничего не вернула, ее "значение" будет None. А is not None дословно проверяет это
@thebest-bp9kb
@thebest-bp9kb 3 жыл бұрын
@@xvii5753 то есть non none означает что у функции есть значение?
@thebest-bp9kb
@thebest-bp9kb 3 жыл бұрын
Not*
@drimkaa
@drimkaa 3 жыл бұрын
@@thebest-bp9kb да, именно. All() вроде бы, может вернуть пустую штуку
@thebest-bp9kb
@thebest-bp9kb 3 жыл бұрын
@@drimkaa спасибо
@glm8345
@glm8345 3 жыл бұрын
использовать functools для решения 19-21? давайте тогда re будем использовать при решении 24-го, зачем такие сложности при решении столь элементарных задач? на егэ даётся не час P.S. Надеюсь, я не подкинул этим психопатам идею
@rodya_inf
@rodya_inf 3 жыл бұрын
А я и использую re для 24 На егэ даётся 4 часа, все верно. Поэтому быстрее решать кодом, а не руками
@danil_ka5146
@danil_ka5146 3 жыл бұрын
Что в этом плохого? Не зря же ты именно инфу сдаешь. Или ты вечно все руками будешь решать?
@glm8345
@glm8345 3 жыл бұрын
@@danil_ka5146 ты думаешь, что все те поцы, которые будут решать егэшку используя столь сложные модули понимают как они работают, и будут использовать при будущих "решениях"? они их забудут как только из ППЭ выйдут, и как думаешь, много ли тебе будет давать задач на работе, куда тебя возьмут со знанием питухона выгружать из строки данные? (использование re) я думаю, что раз в лет 5, хотя вряд ли тебя возьмут на галерку со знанием одного лишь питухона, ой или кэширование значений функции, хммм, где же это можно использовать? даже не знаю. Но я думаю, что я смог донести до тебя свою мысль, использовать такие методы бессмысленно, это как из пушки по воробьям
@glm8345
@glm8345 3 жыл бұрын
@@danil_ka5146 и я тебе больше скажу, тот метод, который показан в видосике даже не во всех учебничках проходится (по крайней мере у Лутца я его не засекал)
@danil_ka5146
@danil_ka5146 3 жыл бұрын
@@glm8345 лично мне не нравится решать это вручную на бумаге, как минимум кодом интереснее. Да и что плохого в том, что так быстрее решать? В этом и суть ЕГЭ, чтобы как можно больше решить задач
@closed1863
@closed1863 2 жыл бұрын
препод-клоун. Не подготовлен к лекции, ничего не знает, пишет по шаблонам. Использовать библиотеку, чтобы к нечетному числу прибавить 1? a//2+a%2 чел, это же такие простые свойства.
@rodya_inf
@rodya_inf 2 жыл бұрын
Как же меня такого дилетанта земля носит, господи боже мой... Извини, Closed, я завтра же объявлю в телеграмме, что прекращаю преподавать, спасибо, что открыл мне и всем глаза!
@closed1863
@closed1863 2 жыл бұрын
@@rodya_inf я не знаю ваших действительных знаний, но после просмотра этого вебианара складывается впечатление, описанное выше. Я не пытался вас как-то оскорбить, описал, что увидел. За клоуна изввиняюсь, это был скорее эпитет, призванный подчеркнуть мое негодование, нежели обзывательство. Но если судить строго в рамках этого видео, разве вы со мной не согласны?
@КозловАлександр-ъ1ф
@КозловАлександр-ъ1ф 2 жыл бұрын
@@closed1863 Все слизано, даже имена переменных не сменил! Вот оригинал объяснений: kzbin.info/www/bejne/qp3Eq5euoLOIp5o
@akasaka7960
@akasaka7960 3 жыл бұрын
почему-то не вышло на pycharm from functools import lru_cache def moves(h): a, b = h return (a + 1), (a, b + 1), (a * 2, b), (a, b * 2) @lru_cache(None) def game(h): if sum(h) >= 62: return 'W' if any(game(m) == 'W' for m in moves(h)): return 'P1' for s in range(1, 52): if game((10, s)) is not None: print(s, game((10, s)))
@Misha-775
@Misha-775 2 жыл бұрын
В конце почему цикл на уровне функции? Это уже не функция, отступы лишние
@nikitakolesnikov695
@nikitakolesnikov695 2 жыл бұрын
Нужно return (a + 1, b), (a, b + 1), (a * 2, b), (a, b * 2)
@ShallBeMine
@ShallBeMine 2 жыл бұрын
почему он как камикадзе д руку поднимает когда ругается?
@mxximka
@mxximka 2 жыл бұрын
ахахах рил
Разбор варианта №3 | Сборник Крылова | ЕГЭ по Информатике 2024
1:59:38
Пришёл к другу на ночёвку 😂
01:00
Cadrol&Fatich
Рет қаралды 10 МЛН
Задание №8. Комбинаторика | Информатика ЕГЭ 2023 | Умскул
59:30
Информатика ЕГЭ Умскул
Рет қаралды 85 М.
Задания 19-21 шаблонный способ на 3 балла | ДЕМО, АПРОБАЦИЯ | ЕГЭ 2022
23:09
Дмитрий Паршиков ЕГЭ Информатика
Рет қаралды 31 М.
Вся КОМБИНАТОРИКА на PYTHON | Все типы задания 8 ЕГЭ Информатика
39:05
Всё ОГЭ по информатике за 30 минут | Артём Фролов
33:55
Информатика ОГЭ Умскул
Рет қаралды 222 М.
Щелчок 2023 | Задание №19-21. Excel (Шаблон решения)
25:33
Информатика ЕГЭ - Школково
Рет қаралды 16 М.