Advertisement
Hasli4

Untitled

Apr 25th, 2025
274
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.55 KB | None | 0 0
  1.  
  2. def print_menu():
  3.     # Выводим пункты меню на экран
  4.     print()
  5.     print("1) Создать окружность")
  6.     print("2) Найти площадь окружности")
  7.     print("3) Найти периметр окружности")
  8.     print("4) Увеличить радиус окружности")
  9.     print("5) Вывести информацию про окружность")
  10.     print("6) Выход")
  11.  
  12.  
  13. def choose_circle(circles):
  14.     """
  15.    Просит пользователя выбрать номер существующей окружности.
  16.    Проверяет корректность ввода и возвращает индекс в списке.
  17.    """
  18.     num = int(input("Введите номер окружности (от 1 до {}): ".format(len(circles))))
  19.     if num < 1 or num > len(circles):
  20.         print("Ошибка: такой окружности нет.")
  21.         return None
  22.     return num - 1  # переводим номер в индекс (от 0)
  23.  
  24.  
  25.  
  26. circles = []  # список, куда будем складывать все созданные окружности
  27.  
  28. while True:
  29.     print_menu()
  30.     choice = input("Выберите пункт меню: ")
  31.  
  32.     if choice == '1':
  33.         # Создание новой окружности
  34.         x = float(input("Введите X центра: "))
  35.         y = float(input("Введите Y центра: "))
  36.         r = float(input("Введите радиус R: "))
  37.         circles.append(Circle(x, y, r))
  38.         print("Окружность создана.")
  39.  
  40.     elif choice == '2':
  41.         # Вычисление площади
  42.         if not circles:
  43.             print("Сначала создайте хотя бы одну окружность.")
  44.             continue
  45.         idx = choose_circle(circles)
  46.         if idx is None:
  47.             continue
  48.         print("Площадь =", circles[idx].area())
  49.  
  50.     elif choice == '3':
  51.         # Вычисление периметра
  52.         if not circles:
  53.             print("Сначала создайте хотя бы одну окружность.")
  54.             continue
  55.         idx = choose_circle(circles)
  56.         if idx is None:
  57.             continue
  58.         print("Периметр =", circles[idx].perimeter())
  59.  
  60.     elif choice == '4':
  61.         # Увеличение радиуса
  62.         if not circles:
  63.             print("Сначала создайте хотя бы одну окружность.")
  64.             continue
  65.         idx = choose_circle(circles)
  66.         if idx is None:
  67.             continue
  68.         k = float(input("Во сколько раз увеличить радиус? "))
  69.         circles[idx].scale(k)
  70.         print("Новый радиус =", circles[idx].r)
  71.  
  72.     elif choice == '5':
  73.         # Вывод информации об окружности
  74.         if not circles:
  75.             print("Сначала создайте хотя бы одну окружность.")
  76.             continue
  77.         idx = choose_circle(circles)
  78.         if idx is None:
  79.             continue
  80.         c = circles[idx]
  81.         print(f"Окружность #{idx + 1}: центр=({c.x}, {c.y}), радиус={c.r}")
  82.  
  83.     elif choice == '6':
  84.         # Выход из программы
  85.         print("Выход. До свидания!")
  86.         break
  87.  
  88.     else:
  89.         # Если пользователь ввёл что-то не из 1–6
  90.         print("Неверный пункт меню. Повторите ввод.")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement