Для системы развесистых меню лучше сразу заложить фундамент из словаря функций. Можно будет на раз добавлять пункты и не блуждать по всему коду.. Надо вначале всегда продумать cor приложения, а не сооружать стены в воздухе..
import random
from datetime import date
import time
import os
def clear():
os.system('cls' if os.name == 'nt' else 'clear')
def main_menu():
clear()
print("1. Калькулятор простейший (пока не работает)")
print("2. Генератор случайного числа")
print("3. Назад")
choice = input("Выбор: ")
menu_actions.get("main_menu", {}).get(choice, invalid_choice)()
def random_number_generator():
try:
clear()
start = int(input("От числа: "))
end = int(input("До числа: "))
print("Случайное число:", random.randint(start, end))
time.sleep(3)
main_menu()
except ValueError:
print("Пожалуйста, введите корректные числа.")
time.sleep(2)
main_menu()
def support_menu():
clear()
print("Телеграмм тех. поддержки: @O3EPO_MEPTBb1X")
input("\nНажмите Enter, чтобы вернуться.")
start_menu()
def about_software():
clear()
today = date.today()
creation_date = date(2024, 11, 20)
days_since_creation = (today - creation_date).days
print("Софт создан: Kartech\nДата создания: 20.11.2024")
print(f"Прошло времени с создания: {days_since_creation} дней")
input("\nНажмите Enter, чтобы вернуться.")
start_menu()
def invalid_choice():
print("Некорректный выбор. Попробуйте снова.")
time.sleep(2)
start_menu()
def start_menu():
clear()
print("1. Главное меню")
print("2. Поддержка")
print("3. Информация о софте")
print("4. Выход")
choice = input("Выбирай: ")
menu_actions.get("start_menu", {}).get(choice, invalid_choice)()
menu_actions = {
"start_menu": {
"1": main_menu,
"2": support_menu,
"3": about_software,
"4": lambda: print("Выход из программы. До свидания!") or time.sleep(1),
},
"main_menu": {
"1": lambda: print("Калькулятор пока недоступен.") or time.sleep(2) or main_menu(),
"2": random_number_generator,
"3": start_menu,
},
}
if __name__ == "__main__":
start_menu()
https://pastebin.com/P108DCGH - код на пастебине
https://ru.files.me/u/pse2hr8hne - файл main.py
библиотеки:
art==6.3
colorama==0.4.6
colored==2.2.4
progress==1.6
tqdm==4.67.0
p.s хотел просто скопировать код сюда,но он слишком длинный и не получилось