28. Продолжаем работать со списками

Продолжим работать со списками. На этот раз вернемся к рисованию «шариков» и работе с списком объектов. Задания выполнять в функции task, вызывать ее нажатием правой кнопки мыши на экране. Левая — очищает и создает новый список. 1. Посчитать количество синих 2. Найти общую площадь зеленых 3. Удалить красные 4. Удалить красные, если их граница синяя […]

27. Списки и еще раз списки в Python: отличия числового списка от списка объектов и приемы работы

Сегодня еще один урок, в котором будем работать со списками. Подготовим два списка, один из которых будет заполнен числами, а другой — объектами. Найдем самое большое значение. Начинающие всегда пытаются сравнивать соседние значения, чтобы найти самое большое. Но это тупиковый путь. Представьте что вы находитесь возле 1000 людей, которые стоят в ряд и на вид […]

26. Списки в Python. Несколько вопросов

Продолжаем работать со списками в Python. Прежде, чем двигаться дальше, подведем промежуточные итоги. Напомню, что числовые списки и списки, содержащие объекты различаются по своему «поведению». Когда вы используете перебор по значению, то не можете изменить элемент списка: В первом и втором случае мы видим одни и те же значения, потому что x += 1 повлияет […]

25. Работаем со списками в Python (удалять лучше с конца)

Продолжаем работать со списками. Разберем задания, которые (должны) были вызвать у вас трудности. Напомню, что в данный момент мы работаем с числовыми списками. Для создания списка, заполненного случайными значениями, удобно использовать такой прием: А теперь попробуем удалить все нули. Вариант с использованием count и remove мы рассматривать не будем, надеюсь с ним все понятно. Предположим, […]

24. Работа со списками в Python, часть вторая

В прошлом уроке мы создали список, содержащий объекты ball для отработки приемов работы со списками. В конце урока я дал задания по удалению элементов из списка. Эти задания должны были вызвать проблемы. Прежде, чем мы вернемся к шариками, нужно рассмотреть вариант попроще: список, состоящий из чисел. Этот урок будет полностью посвящен работе с числовым списком. […]

23. Работа с списками в Python

Обработка списков в Python. На прошлом занятии мы подготовили программу, в которой будем работать со списками. Приведу полный код: Теперь, после того, как у нас есть заполненный список «шариков», мы можем с ним поработать. Для начала попробуем выстроить уже имеющийся список в ряд: Однако, мы видим, что все шарики не помещаются на экране. Чтобы изменить […]

Как в Python получить справку о командах или возможностях модуля?

Например, как получить все функции, которые есть в модуле random? Как узнать, что делает функция randrange из модуля random? Как узнать все команды черепашки из turtle? Как получить все свойства объекта event в описанном ниже случае?

22. Создаем список «шариков» для последующих заданий

Мы разобрали уже несколько заданий, в которых фигурировали списки, настал черед поработать с ними посерьезнее. Python дает большие возможности для работы со списками, многие идеи для которых были взяты из языка LISP, название которого прямо указывает, что язык создан для работы со списками. Когда изучают Паскаль или Си, то работают с массивами. Массивы в Python […]

Как получать элементы из списка, как-будто он бесконечный? Но без зацикливания?

В одном из прошлых вопросов мы рассмотрели, как в Python сделать список «бесконечным». Но прошлый пример был бесполезный, потому что давал зацикливание. Поэтому новый вопрос — продолжение: как сделать, чтобы можно было брать элементы из списка столько, сколько нужно, но без зацикливания? Дает зацикливание: Нужен правильный ответ.

Бесконечная последовательность из списка

Допустим, есть список цветов: colors = [‘white’,’red’,’blue’]. Нужно нарисовать много полосок цветами в заданной последовательности. Количество полосок заранее неизвестно. Как организовать «бесконечную» последовательность заданных цветов? Ответы жду в комментариях.

Как заполнить список парами?

Нужно получить список координат точек на плоскости, заполненный случайным образом (от 50 до 550). Если бы нужна была только одно значение, то подошел бы вариант: Вопрос в том, как создать список, содержащий не по одному значению, а по паре, вроде такого: [(4,5),(6,3),(1,5)]. Ответы пишите в комментариях.

Как перебирать пары в списке?

Дан список, каждый элемент которого — пара x,y points = [(1,3),(4,3),(5,6)] и т.д. Как вывести расстояние от начала координат каждой точки? Напомню, что найти это расстояние можно через теорему Пифагора: math.sqrt(x**2 + y**2) Вопрос в том, как перебрать эти пары? Есть несколько вариантов решения. Предлагайте свои решения в комментариях (обычных) на странице. Не получилось заставить […]

Пошаговая игра Пушка для двоих.

Заготовка: выстрелы, переход хода есть, нужно доделать определение попадания (с использованием уже имеющегося hittest) Также нужно сделать препятствия между пушками, с рикошетом (метод для расчета рикошета готов), и добавить возможность перемещения пушек (move в пушках создан). Для дальнейшего совершенствования игры сделать экран с горизонтальной прокруткой и прицеливанием не мышью, а с указанием силы выстрела и […]

Модификация игры «Пушка»: меньше глобальных переменных, больше объектов, чище код

Другой способ выстрела: удержание левой кнопки мыши увеличивает энергию выстрела. Чтобы выстрелить нужно отпустить левую кнопку.

21. Задания по программированию на Python для начинающих и начавших.

1. Создать форму (окно), на котором сверху будет 5 кнопок в ряд: «Окружность», «Прямоугольник», «Линия», Пятиугольник», «Очистить», а под ними — Canvas. Каждая кнопка должна рисовать на холсте указанную фигуру со случайными координатами, цветом и случайной 2. Сделать «мячик», равномерно перемещающийся вверх-вниз в бесконечном цикле 3. Сделать прыгающий мячик, перемещающийся вверх-вниз с замедлением в верхней […]

20. Заканчиваем игру Jumper (почти Doodle)

Продолжаем делать игру «Jumper». В прошлом уроке мы создали прыгающий мячик и платформы. Теперь пришло время организовать взаимодействие мячика и платформ. Для того, чтобы определить, касается ли мячик платформы, есть два способа. Можно определять по координатам (как мы и сделаем), а можно через методы Tkinter. Во всех библиотеках (движках) для создания игр есть способы для […]

19. Продолжаем делать игру «Jumper». Объекты — это экземпляры классов.

Пока у нас прыгает один джампер, платформ нет. Джампер так и останется один, а вот платформ будет много. Причем заранее неизвестно сколько. Это означает, что мы не можем просто создать список переменных x1,y1,x2,y2 и т.д., чтобы хранить в них параметры платформ. Нужно какое-то сильное решение, которое позволит создавать неограниченное количество одинаковых объектов и легко управлять […]

18. Начинаем создавать игру «Jumper» (почти как Doodle). Анимация.

Суть игры простая: прыгать с платформы на платформу и продержаться как можно дольше. Первое, с чего нужно начать — это анимация. Изображать джампера будем простым кругом. Перед тем, как мы заставим его прыгать, научим его двигаться. Попробуем заставить его двигаться: Мяч двигается, но мы этого не видим. Дело в том, что все происходит слишком быстро. […]