Примеры программ на 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()

Пояснение к коду:

  1. Работа с базой данных (database.py):
    • Функции для подключения к базе данных, создания таблицы задач, вставки новых задач, выборки задач по различным критериям, а также для обновления и удаления задач.
  2. Модели данных (models.py):
    • Здесь мы определяем модель данных задачи (Task), которая может содержать ID, название, описание и статус выполнения.
  3. Основной функционал (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

Как запустить программу:

  1. Скопируйте файлы task_manager.py, database.py, models.py в одну папку.
  2. Запустите task_manager.py с помощью Python:
bashКопировать кодpython task_manager.py

Программа создаст файл базы данных tasks.db, если он ещё не существует, и начнёт работать в консоли.

Этот пример показывает, как можно создать полноценное консольное приложение для управления задачами с использованием базы данных SQLite в Python. Мы использовали стандартные библиотеки Python для работы с базой данных и ввода/вывода, а также реализовали простой интерфейс для взаимодействия с пользователем.

Заключение

Python — это невероятно гибкий и мощный язык, который подходит как для новичков, так и для опытных разработчиков. В этой статье мы рассмотрели несколько простых программ, которые позволяют понять основы работы с Python. Благодаря разнообразию библиотек и инструментов, Python позволяет решать задачи любой сложности, начиная от простых вычислений и заканчивая созданием масштабных веб-приложений и обработкой больших данных.

С каждым новым проектом вы будете открывать для себя новые возможности этого замечательного языка!

+1
3
+1
2
+1
1
+1
1
+1
1

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *