Появился вопрос?Заказать звонок
TELEGRAM
WHATSAPP
Мы используем файлы cookie, чтобы обеспечить максимальное удобство работы с сайтом.

Как создать мобильное приложение на Python для школьников

Python – это сравнительно молодой язык программирования, распространенный во всем мире. Он стремительно набирает популярность как среди опытных разработчиков, так и у новичков. Пайтон увидел свет в 1991 году, и в 2024 году ему исполнится 33 года. Он стал самым популярным языком программирования в мире согласно рейтингу Tiobe за 2023 год, что в очередной раз свидетельствует о востребованности Python-разработчиков на рынке труда.

С каждым годом все больше молодых айтишников выбирают Python для изучения. Кроме того, многие мировые компании переводят свои продукты на этот язык программирования: среди них Яндекс, VK, Google, NASA, Intel, Cisco, HP, Yahoo, Pinterest, Netflix, Uber, Amazon, Mozilla, Nokia и другие гиганты IT-рынка. А Microsoft и вовсе создали собственный Python Developer Center для поддержки и обучения «питонистов». Всё это говорит о перспективности языка программирования.
Как создать мобильное приложение на Python для школьников

Почему дети выбирают Python для изучения?

Python – это высокоуровневый язык программирования, который может похвастаться не только своей популярностью, но и простотой синтаксиса. Его команды отличаются лаконичностью, а библиотеки значительно расширяют возможности. Кроме того, в интернете доступно большое количество справочной информации, благодаря чему можно оперативно решить возникающие в ходе разработки проблемы. Питонисты шутят о том, что если у них случился какой-либо сбой, достаточно лишь загуглить: скорее всего, кто-то с этим уже сталкивался.

Благодаря простоте языка даже начинающие разработчики без опыта всего за несколько уроков смогут освоить создание собственных игр, программ, веб-приложений и даже чат-ботов для Telegram и Discord. Простота и функциональность - вот два ключевых фактора, которые обеспечивают огромную популярность, распространенность и востребованность языка программирования Python среди начинающих и детей. Освоить Пайтон с нуля для школьников можно как на специализированных курсах – например, от школы программирования «Пиксель», так и при помощи бесплатных видеоуроков.
Как создать мобильное приложение на Python для школьников

Как создать мобильное приложение: урок Python для школьников

Предлагаем начать освоение перспективного языка программирования Python с создания собственного мобильного приложения. Программы для телефона удобны тем, что их всегда можно взять с собой и поделиться ими с друзьями, поскольку смартфоны прочно вошли в жизнь каждого современного школьника.

Для того, чтобы создать мобильное приложение на Python для школьников, первым делом нужно определиться с необходимой библиотекой. Для этого мы решили воспользоваться любой поисковой системой и задать вопрос – что мы можем для этого использовать? Самая популярная библиотека для данной задачи - Kivy. Затем следует разобраться с ее установкой. Для этого в терминале, командной строке или PowerShell нужно набрать команду:

pip install kivy
После установки библиотеки можно начинать программировать игру.

Предлагаем сделать игру не слишком сложной, поскольку мы только начинаем осваивать Python для детей. Кроме того, мы постараемся оптимизировать код и предложить что-то с небольшим количеством строк. Под указанные параметры отлично подойдет кликер: суть игры заключается в том, что нужно будет успевать кликать на шарики до их исчезновения, а за каждый клик мы будем получать призовые очки.

Давайте начнем кодить! Первым делом произведем импортирование библиотек и нужных нам модулей:

import random
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.label import Label
from kivy.graphics import Color, Ellipse
from kivy.clock import Clock
from kivy.core.window import Window
Теперь создадим класс нашего приложения. В скобках мы указываем App, который мы импортировали ранее, что позволяет нам использовать команды из kivy для создания приложений в этом классе – например, команда run:

class CatchTheBallApp(App):
    pass

CatchTheBallApp().run()
Здесь мы используем особый подход к программированию – Объектно-Ориентированное Программирование (ООП). Его суть заключается в том, что мы представляем элементы программы подобно объектам из реальной жизни и создаем их по шаблону. Например, мы можем создать шаблон для машины, задать ей скорость:

class Car:
    speed = 100

car = Car()

print(car.speed)
Теперь создадим класс для шарика, по которому нужно будет кликать. Мы указываем в скобках то, что он будет виджетом в нашем приложении. Это нужно для того, чтобы мы могли соединить его с приложением и использовать различные настройки kivy. Также мы определяем переменную размера, рандомной позиции и рандомного цвета, а с помощью команды Ellipse рисуем его на экране.

import random
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.label import Label
from kivy.graphics import Color, Ellipse
from kivy.clock import Clock
from kivy.core.window import Window

class Ball(Widget):
    def __init__(self):
        super(Ball, self).__init__()
        self.size = (50, 50)
        self.pos = (random.randint(50, Window.width - 50), random.randint(50, Window.height - 50))
        with self.canvas:
            Color(random.random(), random.random(), random.random(), 1)
            Ellipse(pos=self.pos, size=self.size)

class CatchTheBallApp(App):
    pass

CatchTheBallApp().run()
Теперь создадим класс, в котором будет выполняться основная логика игры – подсчет очков, появление шарика, считывание кликов, отсчет таймера и прочее. Сейчас мы создаем переменную для сбора очков, после создаем надпись на экране и задаем ей позицию. Также создаем шарик и добавляем его на экран. И запустим логику в приложение, написав в классе CatchTheBallApp метод build.

import random
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.label import Label
from kivy.graphics import Color, Ellipse
from kivy.clock import Clock
from kivy.core.window import Window

class Ball(Widget):
    def __init__(self):
        super(Ball, self).__init__()
        self.size = (50, 50)
        self.pos = (random.randint(50, Window.width - 50), random.randint(50, Window.height - 50))
        with self.canvas:
            Color(random.random(), random.random(), random.random(), 1)
            Ellipse(pos=self.pos, size=self.size)

class CatchTheBallGame(Widget):
    def __init__(self):
        super(CatchTheBallGame, self).__init__()
        self.score = 0
        self.score_label = Label(text=f"Очки: {self.score}", pos_hint={'center_x': 0.1, 'center_y': 0.95})
        self.add_widget(self.score_label)
        self.ball = Ball()
        self.add_widget(self.ball)

class CatchTheBallApp(App):
    def build(self):
        game = CatchTheBallGame()
        return game

CatchTheBallApp().run()
Отлично: шарик появляется на экране. Теперь нам нужно научиться его перемещать. Для этого мы создадим метод move – перемещения шарика. И будем активировать его каждую секунду в логике игры:

import random
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.label import Label
from kivy.graphics import Color, Ellipse
from kivy.clock import Clock
from kivy.core.window import Window

class Ball(Widget):
    def __init__(self):
        super(Ball, self).__init__()
        self.size = (50, 50)
        self.pos = (random.randint(50, Window.width - 50), random.randint(50, Window.height - 50))
        with self.canvas:
            Color(random.random(), random.random(), random.random(), 1)
            Ellipse(pos=self.pos, size=self.size)

    def move(self):
        self.pos = (random.randint(50, Window.width - 50), random.randint(50, Window.height - 50))
        self.canvas.clear()
        with self.canvas:
            Color(random.random(), random.random(), random.random(), 1)
            Ellipse(pos=self.pos, size=self.size)

class CatchTheBallGame(Widget):
    def __init__(self):
        super(CatchTheBallGame, self).__init__()
        self.score = 0
        self.score_label = Label(text=f"Очки: {self.score}", pos_hint={'center_x': 0.1, 'center_y': 0.95})
        self.add_widget(self.score_label)
        self.ball = Ball()
        self.add_widget(self.ball)
        self.event = Clock.schedule_interval(self.update, 1)

    def update(self, dt):
        self.ball.move()

class CatchTheBallApp(App):
    def build(self):
        game = CatchTheBallGame()
        return game

CatchTheBallApp().run()
Последним важным моментом в нашей игре будет считывание нажатия. Здесь все просто: если мы нажали на шарик, то прибавляем очки, записываем их на экран, активируем метод move, чтобы передвинуть шарик, и перезапускаем таймер.

import random
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.label import Label
from kivy.graphics import Color, Ellipse
from kivy.clock import Clock
from kivy.core.window import Window

class Ball(Widget):
    def __init__(self):
        super(Ball, self).__init__()
        self.size = (50, 50)
        self.pos = (random.randint(50, Window.width - 50), random.randint(50, Window.height - 50))
        with self.canvas:
            Color(random.random(), random.random(), random.random(), 1)
            Ellipse(pos=self.pos, size=self.size)

    def move(self):
        self.pos = (random.randint(50, Window.width - 50), random.randint(50, Window.height - 50))
        self.canvas.clear()
        with self.canvas:
            Color(random.random(), random.random(), random.random(), 1)
            Ellipse(pos=self.pos, size=self.size)

class CatchTheBallGame(Widget):
    def __init__(self):
        super(CatchTheBallGame, self).__init__()
        self.score = 0
        self.score_label = Label(text=f"Очки: {self.score}", pos_hint={'center_x': 0.1, 'center_y': 0.95})
        self.add_widget(self.score_label)
        self.ball = Ball()
        self.add_widget(self.ball)
        self.event = Clock.schedule_interval(self.update, 1)

    def update(self, dt):
        self.ball.move()

    def on_touch_down(self, touch):
        if self.ball.collide_point(*touch.pos):
            self.score += 1
            self.score_label.text = f"Очки: {self.score}"
            self.ball.move()
            self.event.cancel()
            self.event = Clock.schedule_interval(self.update, 1)

class CatchTheBallApp(App):
    def build(self):
        game = CatchTheBallGame()
        return game

CatchTheBallApp().run()
Вот и все, наша простая игра готова! Но может возникнуть вопрос – как же создать из неё apk файл, чтобы загрузить на android и установить ? Для этого нужны отдельные библиотеки. Для того, чтобы в них долго не разбираться и не устанавливать на наш компьютер, мы воспользуемся инструментами Google и выполним задачу по созданию мобильного приложения на Python для школьников при помощи сайта GoogleCollab.
Как создать мобильное приложение на Python для школьников
Находим коллаб с уже заранее написанными командами. Теперь нам нужно загрузить наш файл сюда. Важный момент: у файла должно быть название main.py.

После этого мы активируем все строчки, кроме последней, и ждем какое-то время. Заходим в папку bin – и видим там apk файл, который мы можем скачать на наш смартфон и установить.

Поздравляем! Вы создали первое приложение для смартфона на языке программирования Python. Теперь им можно поделиться с друзьями.

Видеоурок по созданию мобильного приложения на Python для школьников

Мы постарались наиболее подробно описать процесс создания собственной игры для телефона на языке программирования Python. Возможно, у вас появились какие-либо вопросы, либо часть моментов по-прежнему остались непонятными. Не беда! Предлагаем увидеть своими глазами полный процесс создания приложения на языке программирования Пайтон для школьников в формате подробного видеоурока от школы «Пиксель».
Изучение Python для начинающих школьников – это интересное занятие, которое придется по душе всем юным любителям программирования. На курсах в школе «Пиксель» дети не только учатся кодить, но и развивают логическое мышление, выполняют творческие задания, проявляют фантазию и ответственно подходят к работе в команде. Кроме того, занятия Python для детей – это отличная профориентация: нередко школьники, которые делают успехи в программировании, в дальнейшем решают связать свою жизнь со сферой современных IT-технологий. Однако даже если ребенок выберет другой путь, занятия кодингом помогут ему развить в себе важные для взрослой жизни навыки и качества, а также встретить друзей и единомышленников.