diff --git a/main.py b/main.py index df4d4fc..84da2d1 100644 --- a/main.py +++ b/main.py @@ -2,7 +2,7 @@ import sqlite3 # import datetime import pandas as pd import os - +import sys # alina if os.path.exists('partners.db'): os.remove('partners.db') @@ -259,8 +259,46 @@ def get_partners(db_path='partners.db', sort_by='rating', ascending=False): print(f"Ошибка базы данных: {e}") return None except Exception as e: - print (f"Общая ошибка:{e}") + 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("Данные успешно добавлены в базу данных!") @@ -272,7 +310,8 @@ if __name__ == "__main__": print(f"{table}: {count} записей ") conn.close() - print("1. КАРТОЧКИ ПАРТНЕРОВ ( сортировка по рейтингу") - print("=" * 70) - partners = get_partners(sort_by='rating', ascending=False) - print_partner_cards(partners) + display_menu() + # print("1. КАРТОЧКИ ПАРТНЕРОВ ( сортировка по рейтингу") + # print("=" * 70) + # partners = get_partners(sort_by='rating', ascending=False) + # print_partner_cards(partners)