diff --git a/main.py b/main.py index d3cc619..4ea52b9 100644 --- a/main.py +++ b/main.py @@ -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. Партнеры со статистикой продаж:")