Примеры программ на Python: простота и мощь языка
Python — один из самых популярных языков программирования на сегодняшний день, благодаря своей простоте, читаемости и мощным возможностям. Он используется в самых различных областях: от разработки веб-приложений до искусственного интеллекта и обработки данных. В этой статье рассмотрим несколько простых, но полезных примеров программ на Python.
🧠 Machine Learning — мой авторский тг канал, где собрана вся база по ИИ и машинному обучению, много примеров с кодом и уроков на Python, подписывайтесь, если учите Python.
1. Простейшая программа: “Привет, мир!”
Каждому программисту известна классическая программа, которая выводит на экран “Привет, мир!”. В Python она будет выглядеть очень просто:
print("Привет, мир!")
Пояснение:
print()
— это встроенная функция Python, которая выводит строку на экран.
2. Калькулятор для сложения двух чисел
Давайте создадим простую программу, которая будет складывать два числа, введённые пользователем:
# Ввод данных от пользователя
num1 = float(input("Введите первое число: "))
num2 = float(input("Введите второе число: "))
# Сложение чисел
sum_result = num1 + num2
# Вывод результата
print(f"Сумма чисел: {sum_result}")
Пояснение:
input()
— позволяет пользователю ввести данные с клавиатуры.float()
— преобразует введённые данные в число с плавающей запятой, так как пользователь может ввести числа с десятичными точками.print(f"Текст")
— выводит строку с подставленными значениями через f-строку.
3. Функция для нахождения факториала числа
Теперь напишем программу для нахождения факториала числа с помощью функции.
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
# Ввод числа от пользователя
num = int(input("Введите число для нахождения факториала: "))
# Вывод результата
print(f"Факториал числа {num} равен {factorial(num)}")
Пояснение:
- Функция
factorial(n)
использует рекурсию для вычисления факториала числа. Если число равно 0, то факториал равен 1 (по определению). - Рекурсивный вызов
factorial(n-1)
продолжается до тех пор, покаn
не станет равным 0.
4. Генератор случайных чисел
В Python легко генерировать случайные числа, и для этого есть специальный модуль random
. Создадим программу, которая генерирует случайное число от 1 до 100:
import random
random_number = random.randint(1, 100)
print(f"Случайное число от 1 до 100: {random_number}")
Пояснение:
import random
— подключение модуля для работы с случайными числами.random.randint(a, b)
— генерирует случайное целое число отa
доb
включительно.
5. Простая игра: угадай число
Теперь создадим простую игру, где программа загадывает случайное число, а пользователь должен угадать его:
import random
# Загадать число от 1 до 100
secret_number = random.randint(1, 100)
print("Я загадал число от 1 до 100. Попробуй угадать!")
attempts = 0
while True:
# Ввод числа пользователем
guess = int(input("Твой вариант: "))
attempts += 1
# Проверка на правильность
if guess < secret_number:
print("Загаданное число больше!")
elif guess > secret_number:
print("Загаданное число меньше!")
else:
print(f"Поздравляю! Ты угадал число за {attempts} попыток.")
break
Пояснение:
- В этой программе используется цикл
while
, который продолжается до тех пор, пока пользователь не угадает число. - Программа подсказывает, нужно ли ввести большее или меньшее число, сравнивая введённое пользователем значение с загаданным числом.
6. Программа для работы с файлами
Часто программы требуют работы с файлами. Рассмотрим пример программы, которая создаёт текстовый файл, записывает в него несколько строк и затем читает содержимое:
# Запись в файл
with open("example.txt", "w") as file:
file.write("Первая строка.\n")
file.write("Вторая строка.\n")
file.write("Третья строка.\n")
# Чтение из файла
with open("example.txt", "r") as file:
content = file.read()
print("Содержимое файла:")
print(content)
Пояснение:
open()
— открывает файл. Параметр"w"
означает, что файл будет открыт для записи, а если файл не существует, он будет создан. Параметр"r"
открывает файл для чтения.with
гарантирует, что файл будет закрыт после завершения работы с ним.file.write()
записывает строки в файл, аfile.read()
читает содержимое файла.
7. Создание веб-сервиса с Flask
Flask — это популярный фреймворк для создания веб-приложений. Рассмотрим простой пример создания веб-сервиса с использованием Flask:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Привет, мир!'
if __name__ == '__main__':
app.run(debug=True)
Пояснение:
Flask()
создаёт экземпляр приложения.@app.route('/')
— это декоратор, который определяет маршрут. В данном случае, когда пользователь обращается по адресу главной страницы (/
), вызывается функцияhello_world()
, которая возвращает строку “Привет, мир!”.app.run(debug=True)
запускает сервер в режиме отладки, что удобно для разработки.
8. Основы работы с библиотекой Pandas
Python активно используется в анализе данных, и одна из самых популярных библиотек для работы с данными — это Pandas. Рассмотрим пример работы с DataFrame:
import pandas as pd
# Создание DataFrame
data = {
'Имя': ['Иван', 'Мария', 'Петр'],
'Возраст': [25, 30, 22],
'Город': ['Москва', 'Санкт-Петербург', 'Новосибирск']}
df = pd.DataFrame(data)
# Вывод DataFrame
print(df)
# Доступ к отдельным колонкам
print("\nКолонка 'Возраст':")
print(df['Возраст'])
Пояснение:
pd.DataFrame(data)
создаёт таблицу (DataFrame) из словаря, где ключи становятся названиями столбцов, а значения — данными в этих столбцах.- Выводить данные можно просто с помощью
print(df)
. - Для доступа к конкретной колонке используем
df['Возраст']
.
Давайте создадим более сложную программу на Python. Например, разработаем приложение для управления задачами с использованием базы данных SQLite, которое позволяет пользователю добавлять, просматривать, обновлять и удалять задачи. Это будет пример многокомпонентной программы с базой данных, пользовательским интерфейсом и логикой работы.
Пример программы: Task Manager
Мы создадим консольное приложение, которое будет позволять пользователю управлять задачами. Программа будет поддерживать следующие действия:
- Добавление новой задачи
- Просмотр всех задач
- Обновление задачи
- Удаление задачи
Программа будет использовать SQLite для хранения данных и использовать стандартную библиотеку Python для работы с консолью.
Структура программы:
- task_manager.py — основной файл программы.
- database.py — файл для работы с базой данных (создание таблиц, выполнение SQL-запросов).
- models.py — файл, который будет содержать структуру данных задачи.
Шаг 1: Установка необходимых пакетов
Для начала установим SQLite, но поскольку SQLite является встроенной библиотекой в Python, вам не нужно устанавливать дополнительные пакеты. Мы будем использовать стандартный модуль sqlite3
.
Шаг 2: Файл database.py
(Работа с базой данных)
pythonКопировать кодimport sqlite3
def create_connection(db_file):
"""Создает подключение к базе данных SQLite."""
conn = sqlite3.connect(db_file)
return conn
def create_table(conn):
"""Создает таблицу задач, если она не существует."""
query = '''CREATE TABLE IF NOT EXISTS tasks (
id INTEGER PRIMARY KEY AUTOINCREMENT,
title TEXT NOT NULL,
description TEXT,
done BOOLEAN NOT NULL CHECK (done IN (0, 1))
);'''
conn.execute(query)
conn.commit()
def insert_task(conn, title, description):
"""Добавляет новую задачу в базу данных."""
query = '''INSERT INTO tasks (title, description, done)
VALUES (?, ?, ?);'''
conn.execute(query, (title, description, False))
conn.commit()
def get_all_tasks(conn):
"""Возвращает все задачи из базы данных."""
query = "SELECT * FROM tasks;"
cursor = conn.execute(query)
return cursor.fetchall()
def get_task_by_id(conn, task_id):
"""Получает задачу по ID."""
query = "SELECT * FROM tasks WHERE id = ?;"
cursor = conn.execute(query, (task_id,))
return cursor.fetchone()
def update_task(conn, task_id, title, description, done):
"""Обновляет задачу по ID."""
query = '''UPDATE tasks
SET title = ?, description = ?, done = ?
WHERE id = ?;'''
conn.execute(query, (title, description, done, task_id))
conn.commit()
def delete_task(conn, task_id):
"""Удаляет задачу по ID."""
query = "DELETE FROM tasks WHERE id = ?;"
conn.execute(query, (task_id,))
conn.commit()
Шаг 3: Файл models.py
(Модели данных)
pythonКопировать кодclass Task:
def __init__(self, id, title, description, done):
self.id = id
self.title = title
self.description = description
self.done = done
def __str__(self):
return f"Task {self.id}: {self.title} - {'Done' if self.done else 'Not Done'}\nDescription: {self.description}"
def mark_done(self):
self.done = True
Шаг 4: Файл task_manager.py
(Основной файл программы)
pythonКопировать кодimport sqlite3
from database import create_connection, create_table, insert_task, get_all_tasks, get_task_by_id, update_task, delete_task
from models import Task
def print_menu():
"""Выводит меню приложения."""
print("\nTask Manager")
print("1. Добавить задачу")
print("2. Просмотреть все задачи")
print("3. Обновить задачу")
print("4. Удалить задачу")
print("5. Выйти")
def display_tasks(tasks):
"""Выводит все задачи."""
if not tasks:
print("Задач нет!")
else:
for task in tasks:
print(f"{task[0]}. {task[1]} - {'Done' if task[3] else 'Not Done'}")
def add_task(conn):
"""Добавляет новую задачу."""
title = input("Введите название задачи: ")
description = input("Введите описание задачи: ")
insert_task(conn, title, description)
print("Задача добавлена!")
def view_tasks(conn):
"""Отображает все задачи."""
tasks = get_all_tasks(conn)
display_tasks(tasks)
def update_task_menu(conn):
"""Обновление существующей задачи."""
task_id = int(input("Введите ID задачи для обновления: "))
task = get_task_by_id(conn, task_id)
if task:
title = input(f"Введите новое название задачи (текущее: {task[1]}): ")
description = input(f"Введите новое описание (текущее: {task[2]}): ")
done = input(f"Задача выполнена? (текущее: {'Да' if task[3] else 'Нет'}): ").lower() in ['да', 'yes']
update_task(conn, task_id, title, description, done)
print("Задача обновлена!")
else:
print("Задача не найдена!")
def delete_task_menu(conn):
"""Удаление задачи по ID."""
task_id = int(input("Введите ID задачи для удаления: "))
delete_task(conn, task_id)
print("Задача удалена!")
def main():
"""Главная функция программы."""
conn = create_connection("tasks.db")
create_table(conn)
while True:
print_menu()
choice = input("Выберите действие (1-5): ")
if choice == '1':
add_task(conn)
elif choice == '2':
view_tasks(conn)
elif choice == '3':
update_task_menu(conn)
elif choice == '4':
delete_task_menu(conn)
elif choice == '5':
print("Выход из программы.")
break
else:
print("Неверный выбор, попробуйте снова.")
conn.close()
if __name__ == "__main__":
main()
Пояснение к коду:
- Работа с базой данных (database.py):
- Функции для подключения к базе данных, создания таблицы задач, вставки новых задач, выборки задач по различным критериям, а также для обновления и удаления задач.
- Модели данных (models.py):
- Здесь мы определяем модель данных задачи (
Task
), которая может содержать ID, название, описание и статус выполнения.
- Здесь мы определяем модель данных задачи (
- Основной функционал (task_manager.py):
- В этой части программы реализован основной интерфейс для работы с пользователем через консоль.
- Пользователь может выбирать действия из меню: добавлять, просматривать, обновлять или удалять задачи.
Пример взаимодействия с программой:
markdownКопировать кодTask Manager
1. Добавить задачу
2. Просмотреть все задачи
3. Обновить задачу
4. Удалить задачу
5. Выйти
Выберите действие (1-5): 1
Введите название задачи: Купить продукты
Введите описание задачи: Нужно купить молоко, хлеб и яйца
Задача добавлена!
Task Manager
1. Добавить задачу
2. Просмотреть все задачи
3. Обновить задачу
4. Удалить задачу
5. Выйти
Выберите действие (1-5): 2
1. Купить продукты - Not Done
Как запустить программу:
- Скопируйте файлы
task_manager.py
,database.py
,models.py
в одну папку. - Запустите
task_manager.py
с помощью Python:
bashКопировать кодpython task_manager.py
Программа создаст файл базы данных tasks.db
, если он ещё не существует, и начнёт работать в консоли.
Этот пример показывает, как можно создать полноценное консольное приложение для управления задачами с использованием базы данных SQLite в Python. Мы использовали стандартные библиотеки Python для работы с базой данных и ввода/вывода, а также реализовали простой интерфейс для взаимодействия с пользователем.
Заключение
Python — это невероятно гибкий и мощный язык, который подходит как для новичков, так и для опытных разработчиков. В этой статье мы рассмотрели несколько простых программ, которые позволяют понять основы работы с Python. Благодаря разнообразию библиотек и инструментов, Python позволяет решать задачи любой сложности, начиная от простых вычислений и заканчивая созданием масштабных веб-приложений и обработкой больших данных.
С каждым новым проектом вы будете открывать для себя новые возможности этого замечательного языка!