Python для школьников

Лабораторная 1: Первая программа — «Привет, Мир!»

Цель: Настроить среду Python и запустить первую программу.

Теория

Python — интерпретируемый язык программирования. Программа выполняется интерпретатором построчно. Функция print() выводит данные на экран. Программа сохраняется в файл с расширением .py.

Задание

Написать программу, которая выводит текст «Привет, Мир!».

Решение

print("Привет, Мир!")
                

Сохраните код в файл hello.py. Запустите в терминале командой:

python3 hello.py
                

Дополнительно

Измените текст на «Привет, [ваше имя]!» и запустите снова.

Лабораторная 2: Переменные и типы данных

Цель: Научиться объявлять переменные и работать с базовыми типами.

Теория

Переменная — именованная ячейка памяти. Python имеет динамическую типизацию. Основные типы:

  • int — целые числа
  • float — дробные числа
  • str — строки
  • bool — логические значения (True/False)

Примеры

# Целое число
age = 15

# Дробное число
height = 1.75

# Строка
name = "Анна"

# Логическое значение
is_student = True

# Проверка типа
print(type(age))      # 
print(type(height))   # 
                

Лабораторная 3: Арифметические и логические операции

Цель: Выполнять математические и логические операции.

Теория

Операторы позволяют выполнять действия над данными.

Арифметические:
  • +, -, *, /
  • // — целочисленное деление
  • % — остаток от деления
  • ** — возведение в степень
Логические:
  • ==, !=, <, >
  • and, or, not

Примеры

# Математика
a = 10
b = 3
print(a + b)    # 13
print(a % b)    # 1
print(a ** 2)   # 100

# Логика
x = 5
print(x > 3 and x < 10)  # True
print(not False)         # True
                

Лабораторная 4: Условные операторы

Цель: Управлять ходом программы с помощью условий.

Теория

Оператор if выполняет блок кода, если условие истинно. Используются elif и else для альтернативных ветвей. Отступы (4 пробела) определяют принадлежность строк к блоку.

Примеры

age = 16
if age >= 18:
    print("Доступ разрешён")
else:
    print("Доступ запрещён")

score = 85
if score >= 90:
    grade = "A"
elif score >= 80:
    grade = "B"
elif score >= 70:
    grade = "C"
else:
    grade = "F"
print("Оценка:", grade)
                

Лабораторная 5: Циклы

Цель: Повторять действия с помощью циклов.

Теория

for — перебирает элементы последовательности. while — выполняется, пока условие истинно. range(n) генерирует числа от 0 до n-1.

Примеры

# Цикл for
for i in range(1, 6):
    print(i)

# Сумма чисел
total = 0
for i in range(1, 11):
    total += i
print("Сумма:", total)

# Цикл while
count = 0
while count < 3:
    print("Счёт:", count)
    count += 1
                

Лабораторная 6: Строки и списки

Цель: Работать с последовательностями данных.

Теория

Строка — упорядоченная последовательность символов. Список — изменяемая коллекция. Индексация: list[0] — первый элемент, list[-1] — последний. Срезы: list[1:4].

Примеры

# Строки
text = "привет"
print(text[::-1])       # переворот
print(text.upper())     # ПРИВЕТ
print("р" in text)      # True

# Списки
fruits = ["яблоко", "банан", "груша"]
fruits.append("апельсин")
fruits.remove("банан")
print(len(fruits))      # 3

for fruit in fruits:
    print("Люблю", fruit)
                

Лабораторная 7: Функции

Цель: Группировать код в функции для повторного использования.

Теория

Функция — именованный блок кода. Определяется через def. Может принимать аргументы и возвращать значение с помощью return.

Примеры

def square(x):
    return x ** 2

print(square(5))  # 25

def greet(name):
    print(f"Привет, {name}!")

greet("Мария")

def is_even(n):
    return n % 2 == 0

print(is_even(4))  # True
                

Лабораторная 8: Работа с файлами

Цель: Читать и записывать данные в файлы.

Теория

Файл открывается с помощью open(). Режимы: 'r' — чтение, 'w' — запись, 'a' — добавление. Конструкция with гарантирует закрытие файла.

Примеры

# Запись в файл
with open("diary.txt", "w") as f:
    f.write("Сегодня я выучил Python!\n")
    f.write("Это было интересно.\n")

# Чтение из файла
with open("diary.txt", "r") as f:
    content = f.read()
    print(content)

# Построчное чтение
with open("diary.txt", "r") as f:
    for line in f:
        print("Строка:", line.strip())
                

Лабораторная 9: Обработка исключений

Цель: Обрабатывать ошибки выполнения программы.

Теория

Исключение — ошибка во время выполнения. Блок try содержит код, который может вызвать ошибку. Блок except перехватывает и обрабатывает её.

Примеры

try:
    num = int(input("Введите число: "))
    result = 10 / num
    print("Результат:", result)
except ValueError:
    print("Ошибка: введено не число")
except ZeroDivisionError:
    print("Ошибка: деление на ноль")
except Exception as e:
    print(f"Неизвестная ошибка: {e}")
                

Лабораторная 10: Классы и объекты

Цель: Создавать собственные типы данных с помощью классов.

Теория

Класс — шаблон для создания объектов. __init__ — конструктор. self — ссылка на текущий объект. Атрибуты — данные, методы — функции объекта.

Примеры

class Dog:
    def __init__(self, name, breed):
        self.name = name
        self.breed = breed
        self.hunger = 50  # 0 — сыт, 100 — голоден

    def bark(self):
        print(f"{self.name} говорит: Гав!")

    def feed(self):
        if self.hunger > 0:
            self.hunger -= 10
            print(f"{self.name} поел. Голод: {self.hunger}")
        else:
            print(f"{self.name} не голоден")

# Создание объекта
my_dog = Dog("Бобик", "дворняга")
my_dog.bark()
my_dog.feed()
                

Лабораторная 11: Подключение модулей

Цель: Использовать внешние и стандартные библиотеки.

Теория

Модули расширяют возможности Python. Устанавливаются через pip install имя_модуля. Подключаются с помощью import.

Стандартные модули

import math
print(math.sqrt(25))      # 5.0
print(math.pi)            # 3.1415...

import random
print(random.randint(1, 10))

import datetime
print(datetime.datetime.now())
                

Установка внешних модулей

Откройте терминал и выполните:

pip install pygame
pip install requests
                

Использование модуля

import pygame
pygame.init()
print("Pygame успешно подключён!")
                

Финальная лабораторная: Игра на Pygame — «Поймай шарик»

Цель: Объединить все знания в полноценной игре.

Теория

Pygame — библиотека для создания 2D-игр. Использует графику, события, циклы и классы. Требует установки: pip install pygame.

Полный код игры

import pygame
import random
import sys

# Инициализация
pygame.init()
WIDTH, HEIGHT = 800, 600
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("Поймай шарик")
clock = pygame.time.Clock()

# Цвета
RED = (255, 0, 0)
BLUE = (0, 0, 255)
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)

# Класс шарика
class Ball:
    def __init__(self):
        self.radius = 30
        self.x = random.randint(self.radius, WIDTH - self.radius)
        self.y = random.randint(self.radius, HEIGHT - self.radius)
        self.color = RED

    def draw(self):
        pygame.draw.circle(screen, self.color, (self.x, self.y), self.radius)

    def is_clicked(self, pos):
        x, y = pos
        distance = (x - self.x)**2 + (y - self.y)**2
        return distance <= self.radius**2

# Игровые переменные
ball = Ball()
score = 0
font = pygame.font.SysFont(None, 48)

# Основной цикл
while True:
    screen.fill(WHITE)
    
    # Отрисовка
    ball.draw()
    score_text = font.render(f"Очки: {score}", True, BLACK)
    screen.blit(score_text, (10, 10))

    # Обработка событий
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()
        if event.type == pygame.MOUSEBUTTONDOWN:
            if ball.is_clicked(event.pos):
                score += 1
                ball = Ball()  # Новый шарик

    pygame.display.flip()
    clock.tick(60)
                

Как играть

Кликайте по шарику мышью. Каждый клик прибавляет 1 очко и создаёт новый шарик в случайном месте.