Когда тебя спрашивают про Питон, а ты только “Летающий цирк“ смотрел.
Всем добрый день! На днях позвонил товарищ и сказал, что проходит курс по Питону.
Сказал что понимает, что я пишу на 1С, но может ли он ко мне обращаться с вопросами. Хороший повод посмотреть что это за язык. Нужно какое-то ТЗ.
Пусть в SQL есть таблица «Prices» с двумя колонками. «Product», «Price». Требуется посчитать и вывести среднюю стоимость.
Средняя стоимость = Сумма/количество различных позиций.
Задача стоит. На чём её решать?
Есть компьютер с Windows 11.
В качестве движка БД думаю поставить SQLite. Так же нужно установить Python.
IDE наверное будет перебором, поэтому поставлю Sublime Text с каким-нибудь плагином. Так-с. Что я знаю о Python. Он полный по Тьюрингу. Блоки определяются отступами. Есть объекты…. Вроде всё.
Приступим. Что нам понадобится:
1. Установленная SQLite.
2. Созданная БД с нужными данными.
3. Объект «Подключение» в Python.
Так-с SQLite. На https://www.sqlite.org/download.html есть собранный для Windows. В принципе логично, но всё равно приятно… Ага, вот и первый нюанс. Есть DLL и есть tools.
Похоже придётся чутка почитать... Пишут ставить Tools “sqlite-tools-win-x64” (Если кто-не слушал, то настойчиво рекомендую послушать Tool – Vicarious).
Скачиваем — распаковываем, видим 4 exe файла.
Нам нужно:
1. Создать БД.
2. Создать таблицу.
3. Заполнить таблицу.
4. Написать запрос для получения данных таблицы.
4. Написать запрос для получения среднего.
Открываем документацию к SQLite. Приступим.
1. Создаём БД: C:\sqlite> .\sqlite3.exe average.sqlite;
2. Создаём таблицу с колонками нужных типов: create table prices(product text, price int);
3. Проверяем что таблица создалась: sqlite> .tables;
4. Заполняем строки:
insert into prices values('Bike',1);
insert into prices values('Car',2);
insert into prices values('Boat',3);
5. Проверяем заполнение: select * from prices;
6. Пишем запрос средней цены: SELECT AVG(price) AS average_price FROM prices;
Получили 2.
Отлично! С этим разобрались.
Теперь нужно:
1. Установить python.
2. Разобраться объект какого класса следует использовать для подключения к SQLite.
3. Получить результат запроса.
4. Вывести результат запроса.
Смотрим.
1. Скачиваем learn_python.winget.
2. winget configure -f C:\Users\Имя пользователя\Downloads\learn_python.winget
.
3. Пишем код в текстовом редакторе:
#https://docs.python.org/3/library/sqlite3.html
import sqlite3
conn = sqlite3.connect('C:\\sqlite\\average.sqlite')
cursor = conn.cursor()
cursor.execute('SELECT AVG(price) AS average_price FROM prices;')
result = cursor.fetchone()
if result and result[0] is not None:
print(f"Average Price is {result[0]:.2f}")
else:
print("No prices found.")
conn.close()
4. Сохраняем как print_average_price.py
.
5. Запускаем: python3.13.exe .\print_average_price.py
.
«Average Price is 2.00».
Отлично! Задача выполнена.