ПРОГА для 6 ЗАДАНИЯ на PYTHON, которая сама СЧИТАЕТ ТОЧКИ! | ЕГЭ по информатике 2023

  Рет қаралды 131,973

ИНФОРМАТИКА ЕГЭ 2025 99 БАЛЛОВ

ИНФОРМАТИКА ЕГЭ 2025 99 БАЛЛОВ

Күн бұрын

Пікірлер: 457
@makarGon
@makarGon 2 жыл бұрын
Касаемо скорости выполнения, если вы не хотите ждать, то можно прописать speed(1000) и она не будет уже не черепашкой, а зайчиком :)
@inf99ballov
@inf99ballov 2 жыл бұрын
ахах, спасибо)
@a3ldi
@a3ldi 2 жыл бұрын
Или tracer(False), тогда анимация отключается вообще
@ДмитрийМаков-ы6т
@ДмитрийМаков-ы6т 2 жыл бұрын
А еще лучше прописать speed(0). Это самая быстрая скорость по дефолту)
@彩清-o1k
@彩清-o1k 2 жыл бұрын
@@ДмитрийМаков-ы6т а еще лучше на c++ / c# написать
@Deus_EG
@Deus_EG 2 жыл бұрын
@@ДмитрийМаков-ы6т полностью согласен, работать не будет
@gerasimnotfound8438
@gerasimnotfound8438 9 ай бұрын
стоит отметить то, чтобы найти нужное кол-во повторений в for i in range(x) можно прибегнуть к формуле 360/(угол поворота), например для треугольника угол поворота по условию 120, значит 360/120 = 3 - то, что нужно записать в range(x) вместо x
@inf99ballov
@inf99ballov 2 жыл бұрын
Дописываем в начале строчку speed(1000) и программа работает практически мгновенно! p.s. за комментарий спасибо makar on Также выражаю благодарность каналу /dev/inf (кстати, не забудьте подписаться) за оперативность и креативность! Признаю, похоже в создании этого кода меня опередили 😅
@setqbyte
@setqbyte 2 жыл бұрын
так speed(0) это же максимальная скорость, разве нет?
@Deus_EG
@Deus_EG 2 жыл бұрын
@@setqbyte да там чел где-то увидел прогу, записал, а документацию к модулю даже не пробовал изучить
@n1ce644
@n1ce644 2 жыл бұрын
tracer(0) и update() шутка?
@ob0-china
@ob0-china Жыл бұрын
hideturtle() еще можно
@the_byte.
@the_byte. Жыл бұрын
есть вопрос касаемо неправильного ответа, куда можно написать?
@НастяМарятова-ф9п
@НастяМарятова-ф9п Жыл бұрын
Классная подача материала. Как раз не понимала, как решать задания с большими числами. Теперь все ясно
@Mi_Nare
@Mi_Nare 2 жыл бұрын
Спасибо огромное! Долго тупила, как можно сделать автоподсчёт точек. Ваше видео просто спасло)
@tatey9379
@tatey9379 2 жыл бұрын
Можно ещё проще сделать. В начале перед begin_still пишем "tracer(0)", затем в конце перед done пишем "update()"
@annax3163
@annax3163 Жыл бұрын
почему-то ответ получается другой
@bmxnoobas1367
@bmxnoobas1367 Жыл бұрын
Прошу заметить, что для нахождения всех точек внутри стоит написать item >= 1
@kozanuch4405
@kozanuch4405 Жыл бұрын
Нет, код и без этого работает как надо
@merka239
@merka239 11 ай бұрын
СПАСИБО! Объясняю чем помогло: Стираем item[0] == 5 И len(item) == 1 исправляем на item >= 1 Профит: теперь прога считает И точки НА ЛИНИИ, т.е. на границе
@kozanuch4405
@kozanuch4405 11 ай бұрын
@@merka239 ? он говорит про все точки внутри, точки на линии НЕ считаются за точки внутри фигуры. К тому же твой коммент не имеет смысла, автор писал как считать с точками на линии. К тому же до этого можно и додуматься если умеешь хоть чу-чуть думать головой.
@merka239
@merka239 11 ай бұрын
@@kozanuch4405 да, я проверил, оказалось просто задача попалась такая, что просто удачно сошлось. А на деле всё не так. Плюсом я нашёл видос который рассматривает эту тему. Как оказывается это всё бред и работает только если повезёт с задачей. Сами попробуйте очень много таких задач порешать и убедитесь. Так ещё к минусам данного способа, что нельзя почитать точки на линиях.
@keyplaygame2482
@keyplaygame2482 Жыл бұрын
Забавный факт, если для ускорения отрисовки использовать tracer(0) и не использовать update() перед циклом подсчёта точек, то получится близкое значение, но неверное. Но если обновить экран перед проверкой, то результат будет такой же, как и без использования tracer().
@vssimple6782
@vssimple6782 7 ай бұрын
лучший чемпик
@ИмамРасулов-ц8т
@ИмамРасулов-ц8т 5 ай бұрын
Спасибо!!! Я думал почему не выходит
@Vincent._.
@Vincent._. Жыл бұрын
Здравствуйте, подскажите пожалуйста что делать если фигуры две, они пересекаются и нужно найти точки на их объединении?
@redtroll2830
@redtroll2830 Жыл бұрын
Подскажите пожалуйста а как сделать чтобы считало не только точки внутри фигуры но и точки на границе?
@dinarik0647
@dinarik0647 5 ай бұрын
Убрать and item[0] == 5
@thefall1673
@thefall1673 Жыл бұрын
что необходимо добавить, чтобы посчитать кол-во точек и на линии помимо внутренней части? Просто увеличить шаг на один?
@ЗандаБукаева
@ЗандаБукаева 2 жыл бұрын
классное объяснение, не понимала как написать прогу, сейчас кажется все легко, спасибо большое!!!!
@Richard_255
@Richard_255 11 ай бұрын
Во втором номере, где был квадрат, можно было воспользоваться формулой по нахождении площади, по сути 25*25=625.
@АндрейДенисов-б3н
@АндрейДенисов-б3н Жыл бұрын
Отличное решение, но советую вместо item[0] == 5 использовать canvas.itemcget(item[0], 'fill') == 'red', это избавит от непредвиденных ошибок)
@kozanuch4405
@kozanuch4405 Жыл бұрын
Каких ошибок?Все итак работает
@fasfq1862
@fasfq1862 11 ай бұрын
​@@kozanuch4405вы видимо не знаете питон😅
@PROCODING
@PROCODING 9 ай бұрын
спасибо, помогло
@Teacher_inf
@Teacher_inf 2 жыл бұрын
Доброго времени суток! Отличный код, спасибо, по вариантам Крылова спасал, пока не дошел до 6. вроде максимально просто по условию . Повтори 10[вперед 123 направо 120] точки внутри области. Мой код: from turtle import * color('black','red') speed(100) m = 200 begin_fill() left(90) for i in range(10): forward(123*m) right(120) end_fill() canvas = getcanvas() cnt = 0 for y in range(-200*m, 200*m, m): for x in range(-200*m, 200*m, m): item = canvas.find_overlapping(x, y, x, y) if len(item) == 1 and item[0] == 5: cnt += 1 print(cnt) done() exit() P.S. Я знаю, что за фигура и лишний диапазон(range) убирал, но как не крути ответ не подходит... Вывод: 6488 А должен быть по ответам Крылова: 7156 Прошу помочь разобраться.
@inf99ballov
@inf99ballov 2 жыл бұрын
проверил вторым способом, ответ 6488 правильный в сбонике опечатка
@shinratensei580
@shinratensei580 Жыл бұрын
@@inf99ballov меня тоже беспокоит именно эта задача. уж слишком громко звучит то, что в сборнике опечатка. сборник то официальный, вряд ли там так накосячить могли. где можно убедиться в том, что там и правда ошибка?
@qpjlekcep7592
@qpjlekcep7592 Жыл бұрын
у тебя в цикле цифра десять, но он рисует треугольник. Он же сказал, что лучше новые линии поверх фигуры лучше не печатать. Там 3 должно быть в fot i in range(3):
@inf99ballov
@inf99ballov Жыл бұрын
@@shinratensei580 я считал другими способами через уравнение прямых. Не доверяйте официальным сборникам на 100 процентов - говорю по своему опыту . В сборниках за 21 и за 22 год тоже были опечатки. А в этом году опечатки в 6 задачах мы нашли уже штуки 4 а то и больше
@shinratensei580
@shinratensei580 Жыл бұрын
@@qpjlekcep7592 делал этот же алгоритм, но с цифрой 3. Ответ не поменялся
@DEMON-eh1sp
@DEMON-eh1sp Жыл бұрын
Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды: Вперёд n (где n  - целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова, и Направо m (где m  - целое число), вызывающая изменение направления движения на m градусов по часовой стрелке. Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз. Черепахе был дан для исполнения следующий алгоритм: Повтори 4 [Вперёд 12 Направо 90] Повтори 3 [Вперёд 12 Направо 120] Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом: Повтори 4 [Вперёд 12 Направо 90] и находиться вне области, ограниченной линией, заданной данным алгоритмом: Повтори 3 [Вперёд 12 Направо 120]. Точки на линии учитывать не следует КАК СЛЕЛАТЬ
@haha4un
@haha4un 6 ай бұрын
посчитай точки внутри каждой из фигур, а затем вычти из большее меньшее? (хз, если работает, то отпишись. А то я не проверял мою идею)
@MrAndrew005
@MrAndrew005 2 жыл бұрын
Если вершины многоугольника имеют целочисленные координаты, то зная площадь данного многоугольника можно посчитать количество точек с целочисленными координатами через формулу Пика.
@inf99ballov
@inf99ballov 2 жыл бұрын
согласен, но не во всех задачах, к сожалению, вершины в целочисленных координатах лежат🥲
@quorti3278
@quorti3278 Жыл бұрын
А что нужно прописать если всё же нужно посчитать точки на линии фигуры?
@evgenyland4448
@evgenyland4448 2 жыл бұрын
революционно. утерли нос разработчикам. спасибо 🔥🔥🔥
@Совет_силы
@Совет_силы Жыл бұрын
Утерли нос разработчикам? А ты думаешь, что они так и хотели, чтобы мы точки считали 30 минут?
@fasfq1862
@fasfq1862 11 ай бұрын
​@@Совет_силы😂😂😂
@shawtyfromnorthside4887
@shawtyfromnorthside4887 Жыл бұрын
а как найти точки на контуре пересечения??
@neksol1541
@neksol1541 Жыл бұрын
большое спасибо, теперь 6 задание не кажется таким сложным)
@НикитаЕрмаков-т1г
@НикитаЕрмаков-т1г 2 жыл бұрын
Хорош, никогда в тебе не сомневался, объяснил 🔥🔥🔥🔥🔥🔥
@_bongo_cat9965
@_bongo_cat9965 8 ай бұрын
Не знаю, упоминалось ли где-то про 5:10, но это не так. Если построить желтую фигуру, то она все равно будет выдавать тот ответ. Насколько я понял, если в item у нас есть 6 - это означает, что мы на границе фигуры, и только из-за len(item) == 1 ваша программа работает. P.s не отсекайте эту 6,и получите программу, которая считает еще точки по краям
@GeyOrgi
@GeyOrgi 9 ай бұрын
парни как понятно сколько ставить на for x in range(?) Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды: Вперёд n (где n - целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова; Направо m (где m - целое число), вызывающая изменение направления движения на m градусов по часовой стрелке. Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз (где k - целое число). Черепахе был дан для исполнения следующий алгоритм: Направо 315 Повтори 7 [Вперёд 16 Направо 45 Вперёд 8 Направо 135]. Определите, сколько точек с целочисленными координатами будут находиться внутри области, которая ограничена линией, заданной алгоритмом. Точки на линии учитывать не следует.
@vasily2dndn
@vasily2dndn 8 ай бұрын
Ставь 15000000
@Куепро-ч7э
@Куепро-ч7э 2 жыл бұрын
Спасибо большое. Прям выручил
@Dmitrii-Zhinzhilov
@Dmitrii-Zhinzhilov 2 жыл бұрын
Благодарю! Отличная работа !!! 👍💯 🔥🔥🔥 🧠
@psychoINF
@psychoINF Жыл бұрын
Есть задания где нужно учитывать точки на границе, что делать в этом случае? И ещё есть задания где 2 фигуры, как с ними?
@ukrop6731
@ukrop6731 8 ай бұрын
братан, твой канал просто лучший, спасибо
@rebellion255
@rebellion255 Жыл бұрын
from turtle import * color("black","red") m = 100 begin_fill() speed(0) left(90) for i in range(4): forward(9*m) right(90) forward(7*m) right(90) end_fill() canvas = getcanvas() ccount = 0 for x in range(-120*m, 120*m, m): for y in range(-120*m, 120*m, m): item = canvas.find_overlapping(x,y,x,y) if len(item)==1 and item == 0: ccount = ccount + 1 print(ccount) done() exit() В чем может быть проблема?
@chlen_tvoi
@chlen_tvoi Жыл бұрын
Проблема почти в самом конце. В строке if len(item)==1....
@chlen_tvoi
@chlen_tvoi Жыл бұрын
if len(item)==1 and item[0]==5: (вот так должно быть) или так if len(item)>=1: (если нужно посчитать точки еще и на контуре фигуры )
@rebellion255
@rebellion255 Жыл бұрын
@@chlen_tvoi Все равно в консоли выводится 0
@chlen_tvoi
@chlen_tvoi Жыл бұрын
@@rebellion255 Скинь условие задачи если есть
@rebellion255
@rebellion255 Жыл бұрын
​@@chlen_tvoi Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды: Вперёд n (где n  - целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова, и Направо m (где m  - целое число), вызывающая изменение направления движения на m градусов по часовой стрелке. Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз. Черепахе был дан для исполнения следующий алгоритм: Повтори 4 [Вперёд 9 Направо 90 Вперёд 7 Направо 90] Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом. Точки на линии учитывать не следует.
@alexbelyakov8845
@alexbelyakov8845 8 күн бұрын
Направо 135 Повтори 25 [Вперёд 250 Направо 90] Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом. Точки на линии не следует учитывать.
@что-ф3п
@что-ф3п 8 ай бұрын
Как насчет того, чтобы треугольник обозначить через три прямые и прогой проверять удовлетворяет ли точка трем неравенствам. Только что попробовал и этот способ очень простой по крайней мере если с профилем у вас хорошо и написать уравнение прямой не вызывает трудностей, первая прямая x=0, вторая y = 111-tg30x, третья y=tg30x k = 0 for x in range(120): for y in range(120): if x>0 and ytg30x k +=1 print(k) Ответ 5280 и париться над тем, какая точка принадлежит, а какая нет, не нужно
@zombikiller201
@zombikiller201 7 ай бұрын
как насчет посрать верх ногами
@AndrewPetrov-ri
@AndrewPetrov-ri 7 ай бұрын
Не получится так просто сделать, если фигура из себя представляет невыпуклый многоугольник.
@Random_Thought_Generator
@Random_Thought_Generator Жыл бұрын
Спасибо! Прога работает как часы, осталось только её не забыть
@voice_power_yt
@voice_power_yt Жыл бұрын
можно распечатать или написать на тетрадном листе и с собой на экзамен взять, я в принципе так русский написал и матешу
@vasily2dndn
@vasily2dndn 10 ай бұрын
​@@voice_power_yt и потом в армейке Eifersucht сделать
@sunny_reflection
@sunny_reflection 6 ай бұрын
@@voice_power_yt так это шпора и лишний нервяк
@voice_power_yt
@voice_power_yt 6 ай бұрын
@@sunny_reflection скажу честно, это ни капли не лишний нервяк, нам сами учителя говорили, чтобы мы шпоры с собой взяли. У меня вообще шпоры были размером с лист А4 (в принципе я и писал всё на этих листах) и просто сворачивал лист до размера носового плотного плотка и ложил туда же и брал с собой на ЕГЭ. Спокойно сдал все три экзамена. Сейчас я понятное дело уже учусь в университете и заканчиваю 1 курс
@skinlink4224
@skinlink4224 Жыл бұрын
Здравствуйте. Возникла проблема с 6 заданием. Пример из демоверсии ФИПИ 2023 года. Черепахе был дан для исполнения следующий алгоритм: Повтори 2 [Вперёд 10 Направо 90 Вперёд 20 Направо 90] Поднять хвост Вперёд 3 Направо 90 Вперёд 5 Налево 90 Опустить хвост Повтори 2 [Вперёд 70 Направо 90 Вперёд 80 Направо 90] Определите, сколько точек с целочисленными координатами будут находиться внутри пересечения фигур, ограниченных заданными алгоритмом линиями, ВКЛЮЧАЯ точки на границах этого пересечения. from turtle import * color('black', 'red') m = 100 speed(1000) begin_fill() left(90) for i in range(2): forward(10*m) right(90) forward(20*m) right(90) pu() forward(3*m) right(90) forward(5*m) left(90) pd() for i in range(2): forward(70*m) right(90) forward(80*m) right(90) end_fill() canvas = getcanvas() cnt = 0 for y in range(-100*m, 100*m, m): for x in range(-100*m, 100*m, m): item = canvas.find_overlapping(x, y, x, y) if len(item) == 1: # and item[0] == 5: cnt += 1 print(cnt) done() exit() У меня получается 5521, в ответе 128
@inf99ballov
@inf99ballov Жыл бұрын
тут нужно сначала понять что за область будет получаться при пересечении фигур, а потом уже построить ее в программу: это будет прямоугольник 7 на 15: from turtle import * color('black', 'red') m = 100 speed(1000) begin_fill() left(90) for i in range(2): forward(7*m) right(90) forward(15*m) right(90) end_fill() canvas = getcanvas() cnt = 0 for y in range(-100*m, 100*m, m): for x in range(-100*m, 100*m, m): item = canvas.find_overlapping(x, y, x, y) if len(item) >= 1: cnt += 1 print(cnt) done() exit() Ответ 128
@skinlink4224
@skinlink4224 Жыл бұрын
@@inf99ballov Спасибо большое, понял, просто невнимательно читал условие)
@artzef
@artzef Жыл бұрын
@@inf99ballov как получить 7 и 15?
@inf99ballov
@inf99ballov Жыл бұрын
@@artzef построить эту фигуру по командам в кумире например или на листочке нарисовать
@HPplay1802
@HPplay1802 Жыл бұрын
Оригинально поставить корги на фон
@br1se
@br1se Жыл бұрын
А что делать в заданиях с дугами? Мне вот попалась в варианте дуга, не знаю что делать
@ksulive3510
@ksulive3510 2 жыл бұрын
Данил, спасибо огромное👍💥💥💥ты лучший!
@Ринат-в1д
@Ринат-в1д 2 жыл бұрын
Здравствуйте, решал задача и по условию надо найти все точки и внутри фигуры , и на линии: Повтори 5 [Вперёд 7 Направо 90 Вперёд 4 Направо 90] Определите количество точек с целочисленными координатами, лежащих внутри или на границе области, которую ограничивает заданная алгоритмом линия. Мой код: from turtle import * color('black','red') m=100 begin_fill() left(90) for i in range(2): forward(7*m) right(90) forward(4*m) right(90) end_fill() canvas=getcanvas() c=0 for x in range(-100*m,100*m,m): for y in range(-100 * m, 100 * m, m): item=canvas.find_overlapping(x,y,x,y) if len(item)==1 and item[0]==5 : c+=1 print(c) done() exit() Выводит 18, должно быть 40. Буду благодарен за помощь
@inf99ballov
@inf99ballov 2 жыл бұрын
легче легкого, дружище) Чтобы считать точки на границе фигуры достаточно условие в if сделать len(item)>=1 from turtle import * color('black','red') m=100 speed(1000) begin_fill() left(90) for i in range(2): forward(7*m) right(90) forward(4*m) right(90) end_fill() canvas=getcanvas() c=0 for x in range(-100*m,100*m,m): for y in range(-100*m, 100*m, m): item=canvas.find_overlapping(x,y,x,y) if len(item)>=1: c+=1 print(c) done() exit()
@DEMON-eh1sp
@DEMON-eh1sp Жыл бұрын
@@inf99ballov А ПОЧЕМУ 2 А НЕ 4 for i in range(2):
@stasyabashkova6790
@stasyabashkova6790 Жыл бұрын
@@inf99ballov Спасибо, думала всё, тупик)
@samuraiFinty
@samuraiFinty 7 ай бұрын
А что надо изучать для этой программы?
@МихаилЛепетков-щ9м
@МихаилЛепетков-щ9м 11 ай бұрын
from turtle import * color("black", "red") m = 50 begin_fill() left(45) for i in range(4): forward(8*m) right(135) forward(9*m) right(45) speed(100) end_fill() canvas = getcanvas() cnt = 0 for y in range(-100*m, 100*m, m): for x in range(-100 * m, 100 * m, m): item = canvas.find_overlapping(x, y, x, y) if len(item) == 1 and item[0] == 5: cnt += 1 print(cnt) done() exit() Какая ошибка тут и почему при выполнение программы не происходит закраска фигуры?
@crasava2766
@crasava2766 9 ай бұрын
Фигура закрашивается, но выводится 0 это значит что заливка была сделана неправильно , чтобы это исправить в for i in range(4) 2 надо поставить, тогда выведет ответ 40. Надо ставить 2, так как данная программа нарисует фигуру за два цикла.
@shanydess
@shanydess 10 ай бұрын
Используйте в самом начале tracer(0) - это функция завершит работу черепахи сразу без ожидания
@Gandaruxa
@Gandaruxa 9 ай бұрын
может ответ неправильно выдать
@Gandaruxa
@Gandaruxa 9 ай бұрын
лучше speed(0)
@Хутава2.0
@Хутава2.0 Жыл бұрын
from turtle import * color("blak", "red") m = 100 begin_fill() left(90) for i in range(3): forward(111 * m) right(120) end_fill() canvas = getcanvas() cnt = 0 for x in range(-120 * m, 120 * m, m): for y in range(-120 * m, 120 * m, m): item = canvas.find_overlapping(x, y, x, y) if len(item) == 1 and item[0] == 5: cnt += 1 print(cnt) done() exit() питон выдает ошибку, что я не так написал?
@inf99ballov
@inf99ballov Жыл бұрын
blak а надо black
@часовщик-ю8ш
@часовщик-ю8ш 2 жыл бұрын
k=0 for x in range(1,14): for y in range(1,14): if -x/(3**0.5)+14>y>x/(3**0.5): k+=1 print(k) 14 - сторона треугольника вариант 10 6 задание ответ 78 сразу выходит Решу ЕГЭ через графики ...ставишь вместо 14 любое число...
@tatarskiy_ejik6836
@tatarskiy_ejik6836 2 жыл бұрын
работает онли на треугольник
@shadowdragon5185
@shadowdragon5185 2 жыл бұрын
@@tatarskiy_ejik6836 это дело можно поместить в функцию и передать параметром количество углов (Те "3" Это ведь количество углов? )
@tatarskiy_ejik6836
@tatarskiy_ejik6836 2 жыл бұрын
@@shadowdragon5185 не ко мне вопрос
@shadowdragon5185
@shadowdragon5185 2 жыл бұрын
@@tatarskiy_ejik6836 по коду это и не было вопросом. Вопрос только с этой цифрой 3
@the_byte.
@the_byte. Жыл бұрын
@@shadowdragon5185 нет, 3**0.5 это корень из трех
@DJBraT100
@DJBraT100 Жыл бұрын
Интересно если я color не прописываю и все заливается черным цветом, то программа все равно работает не взирая на item[0]==5 как это объяснить?
@zombikiller201
@zombikiller201 7 ай бұрын
потому что чел в видео не понимает как она работает, а просто скопипастил код и повторил объяснения :)
@олег-и7я6з
@олег-и7я6з 2 жыл бұрын
(№ 5600) (А. Минак) Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси абсцисс, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует три команды: Вперёд n (где n - целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова, Направо m (где m - целое число), вызывающая изменение направления движения на m градусов по часовой стрелке, и Налево m (где m - целое число), вызывающая изменение направления движения на m градусов против часовой стрелки. Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз. Черепахе был дан для исполнения следующий алгоритм: Повтори 40 [Налево 45 Вперёд 400 Направо 90] Определите, сколько точек с целыми положительными координатами (x, y) будут находиться внутри области, ограниченной линией, заданной данным алгоритмом. Точки на линии учитывать не следует. Что я делаю не так? from turtle import * color("black", "red") speed(1000) m=100 begin_fill() for i in range(8): left(45) forward(400*m) right(90) end_fill() canvas=getcanvas() cnt=0 for x in range(1*m,1000*m,m): for y in range(1*m,1000*m,m): item=canvas.find_overlapping(x,y,x,y) if len(item)==1 and item[0]==5: cnt+=1 print(cnt) done() exit()
@inf99ballov
@inf99ballov 2 жыл бұрын
Координаты инвертированы, вот так верно: from turtle import * color("black", "red") speed(1000) m=50 begin_fill() left(90) for i in range(8): left(45) forward(400*m) right(90) end_fill() canvas=getcanvas() cnt=0 for x in range(-1200*m,0,m): for y in range(-1200*m,0,m): item=canvas.find_overlapping(x,y,x,y) if len(item)==1 and item[0]==5: cnt+=1 print(cnt) done() exit()
@olgapiv
@olgapiv 2 жыл бұрын
@@inf99ballov Не могли бы Вы пояснить, почему for x in range(-1200*m,0,m): ? И почему черепаха сначала делает команду left(90), если по условию она смотрит вдоль оси абцисс?
@inf99ballov
@inf99ballov 2 жыл бұрын
@@olgapiv ахх, дико извиняюсь, не увидал, что вдоль оси абсцисс смотрит🥲 Тогда вот так будет выглядеть прога from turtle import * color("black", "red") speed(1000) m=50 begin_fill() for i in range(8): left(45) forward(400*m) right(90) end_fill() canvas=getcanvas() cnt=0 for x in range(0,1200*m,m): for y in range(-1200*m,0,m): item=canvas.find_overlapping(x,y,x,y) if len(item)==1 and item[0]==5: cnt+=1 print(cnt) done() exit() Просто нумерация координат немного по-другому работает в turtle,а не как мы привыкли что первая четверть оба положительные, на словах в комментарии будет сложно объяснить, поэтому рекомендую вам прочитать документацию к модулю
@olgapiv
@olgapiv 2 жыл бұрын
@@inf99ballov Спасибо, обязательно прочту.
@AspiringToTheBest
@AspiringToTheBest Жыл бұрын
А где ты рисуешь? Скинь прогу плиз))
@Александр-м4х9ц
@Александр-м4х9ц Жыл бұрын
Спасибо, Даня! Способ крутой👍🏻
@fernandooberhauser9017
@fernandooberhauser9017 Жыл бұрын
Повтори 6 [Вперёд 10 Направо 60] Определите количество точек с целочисленными координатами, лежащих внутри или на границе области, которую ограничивает заданная алгоритмом линия. как посчитать количество точек на линии?
@МихаилМитник
@МихаилМитник Жыл бұрын
ручками
@Дучич-ы6ч
@Дучич-ы6ч Жыл бұрын
@@МихаилМитник там получается 268 точек, а прога выдает 267, посчитаешь ручками?
@Raito_404
@Raito_404 Жыл бұрын
а если точки на линии тоже надо считать?
@mr.fridmak_play4680
@mr.fridmak_play4680 2 жыл бұрын
Ага) но формула есть волшебная, что S(площадь) = K(кол-во цел точек внутри) + M/2(кол-во цел точек на сторонах/2) - 1 . М это просто НОД от разницы координат точек)
@mr.fridmak_play4680
@mr.fridmak_play4680 2 жыл бұрын
Работает для любого многоугольника
@jekeha
@jekeha 2 жыл бұрын
@@mr.fridmak_play4680 координаты как найти?
@mr.fridmak_play4680
@mr.fridmak_play4680 2 жыл бұрын
@@jekeha ну ты просто представь что из нуля рисуешь, добавляй шаги эти к x и y
@inf99ballov
@inf99ballov 2 жыл бұрын
хороший вариант, формула пика если я не ошибаюсь, но это тоже неавтоматизированный вариант, хотя довольно неплохо ускоряет решение)
@bewin8578
@bewin8578 2 жыл бұрын
Нод?
@AlexAksenenko-rk6mz
@AlexAksenenko-rk6mz Жыл бұрын
В второй задаче про квадрат можно посчитать ведь без программы.Нам ведь не важно повернут он или нет,просто перемножаем 25 на 25 и получаем ответ - 625
@inf99ballov
@inf99ballov Жыл бұрын
Да согласен
@Pup_of_Earth
@Pup_of_Earth Жыл бұрын
Так нам не над учитывать точки, лежащие на границе
@dronremov5346
@dronremov5346 Ай бұрын
Это подходит, если фигура нарисована под углом 30 градусов, а если 45 или другой угол?
@k_o_l_d_iplay9360
@k_o_l_d_iplay9360 Жыл бұрын
Возник такой вопрос насчёт этой программы: в сборнике Крылова 9-10 вариант даны такие условия: направо 30 повтори 10(9 вариант) и почему черепаха может крутиться на одном месте и выдавать в итоге 0?
@inf99ballov
@inf99ballov Жыл бұрын
Пришли пожалуйста свой код, наверняка ошибочка там
@k_o_l_d_iplay9360
@k_o_l_d_iplay9360 Жыл бұрын
@@inf99ballov Момент: условие из 9 варианта (Направо 30 [Вперёд 30 Направо 60 Вперёд 30 Направо 120] и условие из 10 варианта: (Повтори 10 [Направо 120 Вперёд 12 Направо 60 Вперёд 12] Код для 10 варианта: from turtle import * color('black', 'red') m = 100 begin_fill() left(90) for i in range(4): right(120) forward(12*m) right(60) forward(12*m) end_fill() canvas = getcanvas() cnt = 0 for x in range(-130*m, 130*m, m): for y in range(-130*m, 130*m, m): item = canvas.find_overlapping(x,y,x,y) if len(item) == 1 and item[0] == 5: cnt += 1 print(cnt) done() ext() Код для 9 варианта: from turtle import * color('black' 'red') m = 100 begin_fill() right(30) left(60) for i in range(4): forward(30*m) right(60) forward(30*m) right(120) end_fill() canvas = getcanvas() cnt = 0 for x in range(-130*m, 130*m, m): for y in range(-130*m, 130*m, m): item = canvas.find_overlapping(x,y,x,y) if len(item) == 1 and item[0] == 5: cnt += 1 print(cnt) done() ext()
@k_o_l_d_iplay9360
@k_o_l_d_iplay9360 Жыл бұрын
@@inf99ballov в ожидании ответа 🙃
@kimine2270
@kimine2270 Жыл бұрын
​​​​@@k_o_l_d_iplay9360 в коде для 9в. у тебя в color нет запятой между цветами, left должно быть 90, а не 60, в for достаточно range(2) для полной фигуры, так как с 4 у тебя черепашка дважды рисует фигуру, ещё в конце ext() вместо exit() написано. ответ вроде 750. в 10в. также вместо range(4) нужно range(2) и вместо ext() нужно exit(), но второе особо на программу не влияет. ответ 120 вроде. п.с. и ещё это не обязательно, но рекомендую добавить speed(1000), чтобы быстрее работало
@k_o_l_d_iplay9360
@k_o_l_d_iplay9360 Жыл бұрын
@@kimine2270 спасибо за отклик, попробую сделать 🤝
@c0ld_ddd
@c0ld_ddd Жыл бұрын
спасибо, хорошее объяснение!
@arslansimchit1176
@arslansimchit1176 Жыл бұрын
огромное спасибо за универсальное решение
@Itachi143Uchiha
@Itachi143Uchiha 4 ай бұрын
а если фигур несколько и нужно посчитать точки пересечения или же точки, которые не пересекаются
@chlen_tvoi
@chlen_tvoi Жыл бұрын
ПОДСКАЖИТЕ ПОЖАЛУЙСТА КАК МОЖНО ОПРЕДЕЛИТЬ ОБЛАСТЬ ПЕРЕСЕЧЕНИЯ ФИГУР Черепахе был дан для исполнения следующий алгоритм: Повтори 3 [Вперёд 10 Направо 120] Поднять хвост Вперёд 10 Направо 90 Вперёд 3 Опустить хвост Повтори 4 [Вперёд 10 Направо 90] Определите, сколько точек с целочисленными координатами будут находиться внутри пересечения фигур, ограниченных заданными алгоритмом линиями, не включая точки на границах этого пересечения. мой код: from turtle import * color ('black','yellow') m=15 speed(1) begin_fill() left(90) for z in range (3): forward (10*m) right(120) pu() forward(10*m) right (90) forward (3*m) pd() for s in range (4): forward (10*m) right (90) end_fill() canvas=getcanvas() cnt=0 for y in range (-200*m,200*m,m): for x in range (-200*m,200*m,m): item=canvas.find_overlapping(x,y,x,y) if len(item)==1 and item[0]==5: cnt+=1 print (cnt) done () exit ()
@inf99ballov
@inf99ballov Жыл бұрын
я такие задачи решаю по отдельности: в кумире или на листочке сначала строишь область пересечения а потом уже задаешь полученную фигуры в прогу и считаешь точки
@CHELSEAprod
@CHELSEAprod 8 ай бұрын
А что делать в случае, когда можно считать точки на линии? Какой код у черного цвета?
@loco9312
@loco9312 8 ай бұрын
пни как ответят, я придумал величивать шаг форвард на 2 еденицы тогда будет считать правильно
@Ilya-ju1jg
@Ilya-ju1jg 8 ай бұрын
вместо len(item) == 1 and item[0] == 5: надо писать len(item) >= 1: и все
@Ilya-ju1jg
@Ilya-ju1jg 8 ай бұрын
@@loco9312 пинаю, на 2 единицы увеличивать нельзя, не правильно это
@Ilya-ju1jg
@Ilya-ju1jg 8 ай бұрын
еще лучше придумал: if len(item)>=1 and (canvas.itemcget(item[0], 'fill') == 'red' or canvas.itemcget(item[0], 'fill') == 'black'):
@capybarar
@capybarar Жыл бұрын
Привет, возник вопрос с задачами с дугами. Пример из сборника Крылова 2023 16 вариант: Направо 180 Вперед 3 Направо 90 Вперед 48 Направо 90 Вперед 3 Повтори 6 [Дуга 4, 4, 0, 180] . Точки на линии не учитываем. Найти количество точек внутри фигуры. Мой код: from turtle import * color("black","red") m =1000 speed(1000) begin_fill() left(90) right(180) forward(3*m) right(90) forward(48*m) right(90) forward(3*m) for i in range(6): circle(-4*m,180) right(180) end_fill() canvas = getcanvas() cnt = 0 for x in range(-500*m,500*m,m): for y in range(-500*m,500*m,m): item = canvas.find_overlapping(x,y,x,y) if len(item) == 1 and item[0] == 5: cnt += 1 print(cnt) done() exit() Мой код выдает: 250 Правильный ответ: 136 Что не так с кодом? Заранее благодарен за ответ
@inf99ballov
@inf99ballov Жыл бұрын
проверил ручным способом - тоже получил 250, вывод - код верный, а вот в сборнике очередная ошибка
@artzef
@artzef Жыл бұрын
@@inf99ballov почему в 14 строке -4*m?
@inf99ballov
@inf99ballov Жыл бұрын
@@artzef потому что нам нужно именно такое направление радиуса, попробуй написать без минуса и увидишь в чем отличие
@artzef
@artzef Жыл бұрын
На листочке всё получилось, но я никак не пойму как в кумире и пайтоне изобразить такую фигуру, какие команды(
@nastyar01
@nastyar01 2 жыл бұрын
Даня лучший!
@BratIShkao
@BratIShkao Жыл бұрын
Классная программа, вот только вопрос есть, как ей считать задания, где нужно поднять хвост черепахи, сделать что-то, опустить хвост и снова что-то сделать? это возможно?
@artzef
@artzef Жыл бұрын
Направо 300, повтори 6 раз, [вперед 5 направо 120 вперед 5 направо 330] from turtle import* color ("black", "red") m=100 begin fill() right (300) for i in range (4): forward (10) right (120) forward (10) right (330) end fill () canvas=getcanvas () cnt=0 for x in range (-1000*m, 1000*m, m): for y in range (-1000*m, 1000*m, m): item=canvas.find_overlapping (x, y, x, y) if len(item)==1 and item[0]==5: cnt+ 1 print (cnt) done () exit() Получается 0, а должно 269
@inf99ballov
@inf99ballov Жыл бұрын
а почему у тебя вместо знаков равенства стоят минусы? и пропущены некоторые знаки умножения?
@artzef
@artzef Жыл бұрын
@@inf99ballov ой, я просто копировал с фотографии и текст распознался не так как надо. Так то у меня всё как в шаблоне, но ответ 0
@svatg
@svatg Жыл бұрын
Можно ли как-то считать точки, которые на линии тоже учитываются???????❤❤❤
@inf99ballov
@inf99ballov Жыл бұрын
конечно, просто в условном операторе пропиши if len(item) >= 1: и готово
@МихаилПавлов-я5п
@МихаилПавлов-я5п Жыл бұрын
@@inf99ballov как len(item) может быть больше единицы, Если пересечений точки и точки больше 1 быть никак не может? Разве в таком случае не нужно убирать второе условие, которое проверяет цвет завивки?
@inf99ballov
@inf99ballov Жыл бұрын
@@МихаилПавлов-я5п Он ищет пересечения всех объектов, прямых, заливочной части и тд. и как понятно по условию, наша точка пересечется и с заливкой и с черной границей поверх нее, поэтому длина множества будет больше 1
@МихаилПавлов-я5п
@МихаилПавлов-я5п Жыл бұрын
@@inf99ballov то есть при таком построении заливка так же накладывается на (или под, неважно) линию?
@inf99ballov
@inf99ballov Жыл бұрын
@@МихаилПавлов-я5п да, там все по хитрому
@qwertysalo8665
@qwertysalo8665 Жыл бұрын
А вы не знаете как посчитать этот идентификатор объекта, проведя некоторое количество тестов я так и не выявил закономерности в идентификаторах?
@Gandaruxa
@Gandaruxa 9 ай бұрын
from turtle import * color("black", "red") m = 100 begin_fill() left(90) for i in range(2): forward(10*m) right(90) forward(18*m) right(90) penup() forward(5*m) right(90) forward(7*m) left(90) pendown() for i in range(2): forward(10*m) right(90) forward(7*m) right(90) end_fill() canvas = getcanvas() cnt = 0 for x in range(-120*m,120*m, m): for y in range(-120*m,120*m, m): item = canvas.find_overlapping(x, y, x, y) if len(item) >= 1 and item[0] == 5: cnt += 1 print (cnt) done() exit() привет,скорее всего ты не ответишь,но не знаешь почему задача выдает неправильный ответ,нужно найти точки внутри объединения фигур включая точки на линиях должно быть 249 у меня 196 или 197
@blobick2264
@blobick2264 9 ай бұрын
Вопрос, а что если в задании просят учитывать точки на линиях, как посчитать их количество в таком случае?
@Олег-т3н9б
@Олег-т3н9б Жыл бұрын
Интересно, как сделать, чтобы после рисования ёлки, секунд через 5 графическое окно с ёлкой закрылось или вовсе питон закрыл сам себя?
@ИринаЧупракова-м9ф
@ИринаЧупракова-м9ф Жыл бұрын
При повороте на 45 градусов программа считает точки некорректно, кто-то сталкивался с такой проблемой?
@inf99ballov
@inf99ballov Жыл бұрын
Отправь пожалуйста задачу и свой код. Наверняка ошибка в чем-то другом
@ИринаЧупракова-м9ф
@ИринаЧупракова-м9ф Жыл бұрын
@@inf99ballov Голова направлена вдоль положительного направления оси ординат. Алгоритм: Вперед 100 Направо 90 Вперед 100 Направо 45 Опусти Повтори 10 [ Вперед 30 Направо 90]. Ответ 882, получается 924. Эту часть пропускаю (Вперед 100 Направо 90 Вперед 100 ), т.к если сделать left(90) forward(100*m) right (90) forward(100*m) черепашка все равно будет стоять в положении Направо 90. from turtle import * color ("black", "red") m = 100 tracer(0) begin_fill() right(45) for i in range(4): forward(30*m) right(90) end_fill() canvas = getcanvas() count = 0 for y in range(-100*m, 100*m, m): for x in range(-100*m, 100*m, m): item = canvas.find_overlapping(x,y,x,y) if len(item) == 1 and item[0] == 5: count +=1 print(count) update() done() exit()
@inf99ballov
@inf99ballov Жыл бұрын
@@ИринаЧупракова-м9ф забавно, я нашел ошибку в операции tracer(0)! дело в том, что если не отслеживать путь черепашки, то она не будет рисовать линию черного цвета, чтобы эти точки мы не считали раз они лежат на границе фигуры, поэтому заменяем строчку tracer(0) на speed(1000) и все окей from turtle import * color ("black", "red") m = 100 speed(1000) begin_fill() right(45) for i in range(4): forward(30*m) right(90) end_fill() canvas = getcanvas() count = 0 for y in range(-100*m, 100*m, m): for x in range(-100*m, 100*m, m): item = canvas.find_overlapping(x,y,x,y) if len(item) == 1 and item[0] == 5: count +=1 print(count) done() exit()
@ИринаЧупракова-м9ф
@ИринаЧупракова-м9ф Жыл бұрын
@@inf99ballov Спасибо!
@sefka_of
@sefka_of 5 ай бұрын
привет, а как решать таким шаблоном задачи где пересечение фигур?
@chensarmletom
@chensarmletom Жыл бұрын
Большое спасибо, очень полезное и информативное видео
@user-ee5jz3pq7d
@user-ee5jz3pq7d Жыл бұрын
Из-за чего код может не работать? from turtle import * color("black", "red") m = 100 tracer(0) begin_fill() left(90) forward(10*m) right(120) forward(10*m) right(120) forward(10*m) right(120) end_fill() cnt = 0 canvas = getcanvas() for y in range(-20*m, 20*m, 1*m): for x in range(-20*m, -20*m, 1*m): abc = canvas.find_overlapping(x,y,x,y) print(x,y) if len(abc) == 1 and abc[0] == 5: cnt += 1 print(cnt) done() exit()
@inf99ballov
@inf99ballov Жыл бұрын
у тебя во втором форе стоит диапазон от -20 до -20 ошибка поставь от -20 до +20 и все будет окей
@user-ee5jz3pq7d
@user-ee5jz3pq7d Жыл бұрын
​@@inf99ballov спасибо
@VYTro
@VYTro Жыл бұрын
from turtle import * color("black", "red") m = 100 tracer(0) begin_fill() left(90) forward(10*m) right(120) forward(10*m) right(120) forward(10*m) right(120) end_fill() cnt = 0 canvas = getcanvas() for y in range(-20*m, 20*m, 1*m): for x in range(-20*m, 20*m, 1*m): # исправлено здесь abc = canvas.find_overlapping(x, y, x, y) if len(abc) == 1 and abc[0] == 5: cnt += 1 print(cnt) done()
@samuraiFinty
@samuraiFinty 6 ай бұрын
А какой номер у черного цвета??
@ВладАдеев-н1с
@ВладАдеев-н1с 2 жыл бұрын
А что делать если просят посчитать и точки лежащие на линии?
@inf99ballov
@inf99ballov 2 жыл бұрын
Почитай в комментах других ребят, уже задавали такой вопрос))
@k_o_l_d_iplay9360
@k_o_l_d_iplay9360 Жыл бұрын
А эта программа будет действовать только на треугольники или на все фигуры?
@inf99ballov
@inf99ballov Жыл бұрын
на все фигуры
@k_o_l_d_iplay9360
@k_o_l_d_iplay9360 Жыл бұрын
@@inf99ballov понял, спасибо за уточнение. Хорошечная программа ✌️🤝
@ГеоргийКислов-р2ю
@ГеоргийКислов-р2ю 2 жыл бұрын
приветствую, вопрос всё ещё по решению через turtle(старый комментарий так и не получил ответа, плюс инфа новая есть). Есть вопрос, почему мы проверяем точку через число 5? Повторюсь, мы проверяем не цвет объекта, так как при изменении фона программа всё ещё находит нужные точки, значит мы считаем какой то другой параметр. И я заметил странность: если мы начнём выводить точки, которые входят в фигуру, мы будем получать кортежи, причём их длина будет чаще всего 1-2 элемента. Но первая же точка имеет 5 элементов! Есть конечно идея, что каждая точка возвращает кол-во объектов, которые проходят через неё, но тогда почему один объект называется 5,4, и т.д., и почему в 1 точке целых 5 объектов, хотя мы используем только линии и площадь? Было бы неплохо, что бы вы прояснили этот момент. Заранее спасибо
@inf99ballov
@inf99ballov 2 жыл бұрын
Георгий, здравствуйте! я уже отвечал на этот вопрос кому-то в комментариях: список item наполняется не кодами цветов, а кодами самих элементов пересечения, поэтому цвета можно менять, в видео я этого еще не знал) В документации сказано так: find_overlapping ( x1 , y1 , x2 , y2 ) - Возвращает каждый элемент, перекрывающий прямоугольную область, заданную x1 , y1 , x2 и y2 . должен быть верхний левый угол области и нижний правый угол. Элементы возвращаются в порядке укладки, начиная с самого нижнего элемента.(x1, y1)(x2, y2)
@wolk463
@wolk463 Жыл бұрын
Спасибо большое, реально полезно
@mr.bigbro4199
@mr.bigbro4199 6 ай бұрын
нужно было еще дописать внчале tracer(0), чтобы не ждать отрисовки
@KiriArt1
@KiriArt1 Жыл бұрын
а что делать если в задаче цапля? Цапле был дан для ис­пол­не­ния сле­ду­ю­щий ал­го­ритм: По­вто­ри 5 [Дуга 5, 0, 10, 180 Дуга 10, 0, 0, 180 Дуга 5, -5, -5, 180]. какие нужно использовать команды?
@АлексейПасечников-ш8б
@АлексейПасечников-ш8б 11 ай бұрын
А для того чтобы посчитать точки на обводке есть код а желательно видео?
@zombikiller201
@zombikiller201 7 ай бұрын
Зачем возвращать холст tkinter?
@aldspsa
@aldspsa Жыл бұрын
Повтори 4 [Вперёд 9 Направо 90 Вперёд 7 Направо 90] Почему тут, если range(4) ставлю, то выдает ноль, а если range(2) то верное число? for i in range(4): forward(9*m) right(90) forward(7 * m) right(90)
@inf99ballov
@inf99ballov Жыл бұрын
потому что это прямоугольник и за один проход ты рисуешь сразу две его стороны. Значит для замыкания фигуры нужно всего 2 повторения, а не 4 как в условии
@ТихонПо
@ТихонПо 8 ай бұрын
код хороший работает почти всегда, он в сборнике Крылова 2024 года в 15 варианте фигура очень странная, я ,вроде, все учел , но ответ прога выдаёт не верный.
@exald401
@exald401 11 ай бұрын
Спасибо большое!
@Zlexe
@Zlexe Жыл бұрын
А что если взять 54 номер задания 6 у Полякова, шдн используется чертёжник? Попробуй его решить таким же способом, потому что там ответ получается 62305 точек Чертёжнику был дан для исполнения следующий алгоритм: Повтори 10 раз Сместиться на (200, 100) Сместиться на (-50, -150) Сместиться на (-150, 50) конец Определите, сколько точек с целочисленными координатами будут находиться внутри области, ограниченной линией, заданной данным алгоритмом. Точки на линии следует учитывать.
@abracadabra18
@abracadabra18 2 жыл бұрын
Что не так с кодом,выводит 0,Крылов 2023,4 вариант from turtle import * color("black", "red") m=100 begin_fill() right(30) for i in range(4): forward(20*m) right(90) forward(30*m) right(90) end_fill() canvas=getcanvas() cnt=0 for y in range(-100*m, 100*m, m): for x in range(-100*m, 100*m, m): item=canvas.find_overlapping(x, y, x, y) if len(item)==1 and item[0]==5: cnt+=1 print(cnt) done() exit()
@rerediska6268
@rerediska6268 2 жыл бұрын
for i in range(4): forward(20*m) right(90) forward(30*m) right(90) В этом месте необходимо брать такое количество повторений , чтобы фигура замыкалась лишь один раз, точка начала и конца цикла должны совпадать(было 4, а нужно брать 2).Получается ответ - 598
@abracadabra18
@abracadabra18 2 жыл бұрын
@@rerediska6268 for i in range(2)? Если да, то я пробовал вышло 600, а правильный ответ 588
@rerediska6268
@rerediska6268 2 жыл бұрын
@@abracadabra18 у меня получается 598
@rerediska6268
@rerediska6268 2 жыл бұрын
@@abracadabra18 from turtle import * color("black", "red") m=100 begin_fill() right(30) for i in range(4): forward(20*m) right(90) forward(30*m) right(90) end_fill() canvas=getcanvas() cnt=0 for y in range(-100*m, 100*m, m): for x in range(-100*m, 100*m, m): item=canvas.find_overlapping(x, y, x, y) if len(item)==1 and item[0]==5: cnt+=1 print(cnt) done() exit() У меня ответ получается 598
@abracadabra18
@abracadabra18 2 жыл бұрын
@@rerediska6268 с range(2) выводит 600, у тебя 598, ответ 588.Что-то мы делаем не так в жизни
@men_epto
@men_epto Жыл бұрын
Осталось выучить код перед егэ, спасибо)
@kirilllizunov9751
@kirilllizunov9751 2 жыл бұрын
Помогите пж... пишет, что name 'canvas' is not defined Код (вторая задача из ролика): from turtle import * color('black','red') m=100 begin_fill() right(30) for i in range(4): forward(25*m) right(90) end_fill() cnt=0 for y in range(-100*m, 100*m, m): for x in range(-100*m, 100*m, m): item = canvas.find_overlapping(x, y, x, y) if len(item)==1 and item[0]==5: cnt+=1 print(cnt) done() exit() Запускал и в питоне 3.9.6, и в онлайн компиляторе, везде выводит одну и ту же ошибку
@inf99ballov
@inf99ballov 2 жыл бұрын
ты пропустил строчку canvas = getcanvas() вот код: from turtle import * color('black','red') m=100 speed(1000) begin_fill() right(30) for i in range(4): forward(25*m) right(90) end_fill() canvas = getcanvas() cnt=0 for y in range(-100*m, 100*m, m): for x in range(-100*m, 100*m, m): item = canvas.find_overlapping(x, y, x, y) if len(item)==1 and item[0]==5: cnt+=1 print(cnt) done() exit()
@nikzan5918
@nikzan5918 2 жыл бұрын
Подскажите, в IDE Pycharm на Mac apple silicon программа не работает, ответ не выводится в консоль даже спустя час. В среде Thonny все работает замечательно. Проблема именно с IDE или с операционкой? Знаю точно, что на ППЭ будут машины с этой средой, не возникут ли подобные проблемы там?
@inf99ballov
@inf99ballov 2 жыл бұрын
вряд ли, я бы рекомендовал еще поразбираться потому что от интерпретатора мало что зависит
@annax3163
@annax3163 Жыл бұрын
Пишите в голеньком IDLE (найти поиском во "все программы")
@tvink8452
@tvink8452 10 ай бұрын
В некоторых заданиях просят поднять хвост, если в кумире это сделать элементарно, то вот как сделать на питоне на видео не показано. Если это возможно сделать, то пожалуйста ответьте мне как.
@АлександрКрекнин-д6щ
@АлександрКрекнин-д6щ 10 ай бұрын
up()
@vasily2dndn
@vasily2dndn 10 ай бұрын
down() - опустить up() - поднять
@kamiloid11
@kamiloid11 Жыл бұрын
Скажите пожалуйста, вот вы объясняли на 5:20 что красный цвет имеет код "5", а как узнать код черного цвета? И вообще, можете пожалуйста подсказать, где вы взяли информацию об этих кодах
@inf99ballov
@inf99ballov Жыл бұрын
это не коды цветов, это коды самих пересекающихся элементов ( прямые, отрезки) и они лежат в item, и чтобы области пересекались это множество должно иметь ненулевую длину и соблюдать условие как в видео,( с цветом ошибка, на момент записи видео, я этого еще не знал)
@--6960
@--6960 Жыл бұрын
привет! очень странно программа зависит от переменной m, если её поменять - получается другой ответ. всегда получается такие значения брать? или это только для вариантов Крылова? =D
@inf99ballov
@inf99ballov Жыл бұрын
m - масштаб, чем он больше чем точнее рисунок, поэтому ответы и будут разными получается, масштаба в 100 достаточно для всех заданий
@teizi5660
@teizi5660 2 жыл бұрын
предлагаю строить треугольник в 10 раз меньше заданного, то есть если стороны 100, то мы задаем 10 для легкого счета точек внутри фигуры
@inf99ballov
@inf99ballov 2 жыл бұрын
с масштабом 10 тоже можно, но 100 для уверенности)
@Ксю-р6ш
@Ксю-р6ш 2 жыл бұрын
Подскажите пожалуйста зачем мы увеличиваем масштаб?
@inf99ballov
@inf99ballov 2 жыл бұрын
@@Ксю-р6ш уже ответил на такой вопрос)
@Dmitrii-Zhinzhilov
@Dmitrii-Zhinzhilov 2 жыл бұрын
@@inf99ballov c масштабом 10 у меня 6 точек недостаёт !!! так что надо брать 100
@veronikakovalchuk9954
@veronikakovalchuk9954 2 жыл бұрын
Спасибо!
@Sanya_Nub_voin
@Sanya_Nub_voin 2 жыл бұрын
Кстати, заливка у черепашки адекватная. Если фигура не замкнутая, то черепашка соединит конец и начало фигуры. И даже если там будет 10 повторений, все равно должно работать)
@Raito_404
@Raito_404 2 жыл бұрын
у меня если повторений больше нужного то показывает кол-во точек 0, так что лучше ставить правильное кол
@ВалерийПерелыгин-ц1п
@ВалерийПерелыгин-ц1п Жыл бұрын
Приветствую! Столкнулся с вот такой задачей, ответ не сходится, должен быть 85. Возможно, ошибка в сборнике? Направо 45 Повтори 9 [Вперёд 9 Направо 90] from turtle import * color('black','red') speed(100) m = 200 begin_fill() right(45) for i in range(9): forward(9*m) right(45) end_fill() canvas = getcanvas() cnt = 0 for y in range(-200*m, 200*m, m): for x in range(-200*m, 200*m, m): item = canvas.find_overlapping(x, y, x, y) if len(item) == 1 and item[0] == 5: cnt += 1 print(cnt) done() exit()
@inf99ballov
@inf99ballov Жыл бұрын
А можно целиком вопрос, там точки только внутри фигуры считать нужно или на границе тоже? И куда изначально смотрит Черепашка, вдоль оси x или y? Во вторых уже сразу видно опечатку у вас. В условии написано направо 90 а в вашей программе right(45) в цикле
@СергейРуденко-п3д
@СергейРуденко-п3д Жыл бұрын
не пойму в чем ошибка, выдает ответ 5190 from turtle import * speed(1000) color("black","red") m=100 begin_fill() left(90) for i in range(3): forward(111*m) right(120) end_fill() canvas=getcanvas() cnt=0 for y in range(-100*m,100*m,m): for x in range(-100*m,100*m,m): item=canvas.find_overlapping(x,y,x,y) if len(item)==1 and item[0]==5: cnt+=1 print(cnt) done() exit()
@inf99ballov
@inf99ballov Жыл бұрын
перебор маленький ты идешь от -100 до 100, но треугольник рисуешь со стороной 111 поставь в обоих циклах -120 до 120
@kozanuch4405
@kozanuch4405 Жыл бұрын
Ох блин ненавижу что-то заучивать шаблонно, хотелось бы чтоб в школах реально изучали пайтон, а не шаблоны под ЕГЭ. Можете подсказать где можно брать нормальную информацию по пайтону?
@gr4pes805
@gr4pes805 Жыл бұрын
А что делать, если в задании нужно найти точки не только внутри фигуры, но и те, которые лежат на границе?
@hellegant8067
@hellegant8067 Жыл бұрын
len(item) >= 1. and item[0] == 5 писать не нужно, ведь теперь нам не важен цвет
@ИринаЕршова-к2д
@ИринаЕршова-к2д Жыл бұрын
Что за прога, шрифт такой приятный. Или где-то в настройках можно поменять?
@inf99ballov
@inf99ballov Жыл бұрын
прога Thonny, в настройках меняется тема и шрифт
@ИринаЕршова-к2д
@ИринаЕршова-к2д Жыл бұрын
@@inf99ballov оооо, спасибо!
@asari6326
@asari6326 Жыл бұрын
Спасибо, бро.
@ta1ron874
@ta1ron874 Жыл бұрын
привет, у тебя показано как искать в том случае если точки на границе учитывать не стоит, а если их нужно учитывать то как это делать?
@inf99ballov
@inf99ballov Жыл бұрын
Привет, чекни в комментах ответ пж, его уже задавали часто)
@yellxwdread5120
@yellxwdread5120 2 жыл бұрын
можешь, пожалуйста, подробнее разобрать 14 и 15 строку?
@shadowdragon5185
@shadowdragon5185 2 жыл бұрын
В переменную (или по питонски "объект") "Item" Помещается точка из твоего окна (canvas это полотно на котором всё рисуется) по проверяемым координатам (координаты перебираются в цикле for). Этот метод (find_overlapping) возвращает тебе некий список с несколькими значениями. После чего смотрится количество элементов в этом списке "items" И проверяется находится ли данная перебираемая точка в Красной зоне (конструкция "if" Как раз проверяет два значения друг с другом), если да, то нашли нужную нам точку и счётчик увеличиваем. Проходимся таким же образом по всем остальным точкам и готово, в переменной "cnt" Насчитано нужное количество точек
@shadowdragon5185
@shadowdragon5185 2 жыл бұрын
Надеюсь смог объяснить
@yellxwdread5120
@yellxwdread5120 2 жыл бұрын
@@shadowdragon5185 спасибо большое😁
КУМИР НЕ НУЖЕН, когда есть PYTHON | Алгоритм 6 задания на ЕГЭ 2024
14:40
ИНФОРМАТИКА ЕГЭ 2025 99 БАЛЛОВ
Рет қаралды 44 М.
How Much Tape To Stop A Lamborghini?
00:15
MrBeast
Рет қаралды 228 МЛН
كم بصير عمركم عام ٢٠٢٥😍 #shorts #hasanandnour
00:27
hasan and nour shorts
Рет қаралды 10 МЛН
The Singing Challenge #joker #Harriet Quinn
00:35
佐助与鸣人
Рет қаралды 48 МЛН
Ice Cream or Surprise Trip Around the World?
00:31
Hungry FAM
Рет қаралды 22 МЛН
Я РАСКРЫЛ СЕКРЕТ ЯЩЕНКО. ЕГЭ 2025 БУДЕТ ГРОБОМ?
5:53
ШизМат — математическая онлайн-школа
Рет қаралды 10 М.
Задание 6 | ЕГЭ по информатике | ДЕМО-2025
6:15
Иван Викторович
Рет қаралды 3,8 М.
Жадные алгоритмы
11:10
про АйТи | IT Pro
Рет қаралды 38 М.
ИНФОРМАТИКА - лучший ВЫБОР для ЕГЭ 2025 и вот почему...
4:28
ИНФОРМАТИКА ЕГЭ 2025 99 БАЛЛОВ
Рет қаралды 2,4 М.
Вся КОМБИНАТОРИКА на PYTHON | Задание 8 ЕГЭ и КЕГЭ по ИНФОРМАТИКЕ 2024
23:25
ИНФОРМАТИКА ЕГЭ 2025 99 БАЛЛОВ
Рет қаралды 28 М.
Задание 6 | ЕГЭ по информатике | ДЕМО-2024
15:06
Иван Викторович
Рет қаралды 69 М.
How Much Tape To Stop A Lamborghini?
00:15
MrBeast
Рет қаралды 228 МЛН