This commit is contained in:
user_3d 2025-10-16 12:35:21 +05:00
parent e66386ffc4
commit e42f8c022c

52
main.py
View file

@ -1,5 +1,6 @@
import os
import sqlite3
import sys
import pandas as pd
import textwrap
@ -42,7 +43,7 @@ CREATE TABLE IF NOT EXISTS Product (
product_name VARCHAR(255) NOT NULL,
article VARCHAR(100) UNIQUE NOT NULL,
min_partner_price DECIMAL(15,2) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE IF NOT EXISTS Sale (
id INTEGER PRIMARY KEY AUTOINCREMENT,
@ -266,9 +267,46 @@ def get_partners(db_path='partners.db', sort_by='rating', ascending=False):
print(f"Общая ошибка: {e}")
return None
def simple_choice(options):
print("\n" + "=" * 50)
print("ВЫБЕРИТЕ ОПЦИЮ:")
print("=" * 50)
for i, option in enumerate(options, 1):
print(f"{i}. {option}")
while True:
try:
choice = input(f"\nВведите номер (1-{len(options)}): ").strip()
if choice.isdigit():
choice_num = int(choice)
if 1 <= choice_num <= len(options):
return options[choice_num - 1]
print(f"Пожалуйста, введите число от 1 до {len(options)}")
except (ValueError, EOFError):
print("Неверный ввод. Попробуйте еще раз.")
except KeyboardInterrupt:
print("\nПрограмма прервана пользоватем.")
sys.exit(0)
def display_menu():
"""Функция для отображения главное меню"""
menu_options = [
'КАРТОЧКИ ПАРТНЕРОВ (сортировка по рейтингу)',
'ВЫХОД'
]
while True:
choice = simple_choice(menu_options)
if choice == 'КАРТОЧКИ ПАРТНЕРОВ (сортировка по рейтингу)':
print("\n КАРТОЧКИ ПАРТНЕРОВ (сортировка по рейтингу)")
print("=" * 70)
partners = get_partners(sort_by='rating', ascending=False)
print_partner_cards(partners)
elif choice == 'ВЫХОД':
print("\nДо свидания!")
break
if __name__ == "__main__":
print("Данные успешно добавлены в базу данных!")
@ -278,15 +316,17 @@ if __name__ == "__main__":
cursor.execute(f'SELECT COUNT(*) FROM {table}')
count = cursor.fetchone()[0]
print(f"{table}: {count} записей")
print("1. КАРТОЧКИ ПАРТНЕРОВ (сортировка по рейтингу)")
print("=" * 70)
partners = get_partners(sort_by='rating', ascending=False)
print_partner_cards(partners)
conn.close()
display_menu()
#print("1. КАРТОЧКИ ПАРТНЕРОВ (сортировка по рейтингу)")
#print("=" * 70)
#partners = get_partners(sort_by='rating', ascending=False)
#print_partner_cards(partners)
# if __name__ == "main":
#
# conn.close()
#
# print("\n3. Партнеры со статистикой продаж:")