Advertisement
Chl_Snt

Домащка

May 26th, 2023
559
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.94 KB | None | 0 0
  1. import math
  2. import time
  3. from colorama import Fore, Back
  4. from tqdm import tqdm
  5.  
  6. a = Fore.LIGHTMAGENTA_EX
  7. u = Fore.LIGHTGREEN_EX
  8.  
  9.  
  10. def bathroom():
  11.     print(a + "Введи размер комнаты в формате ДЛ*ШР*ВС")
  12.     room = input(u + "→ ")
  13.     try:
  14.         room = tuple(map(float, room.split("*")))
  15.         if len(room) != 3:
  16.             raise Exception
  17.         s = room[0] * room[1] + (room[0] * room[2] + (room[1] * room[2]) * 2) / 2
  18.         glue = s * 2  # 66 кг
  19.         glue_n = math.ceil(glue / 25)  # колво пачек
  20.         glue_ost = glue_n * 25 - glue  # остаток
  21.  
  22.         plitka = 0.42 * 0.42
  23.         plitka_n = math.ceil(s / plitka)
  24.         plitka_ost = round(plitka_n - s / plitka, 2)
  25.         print(u + f"Плитка:\nВсего потребуется купить {plitka_n} штук за {956 * s} рублей. После ремонта останется "
  26.                   f"{plitka_ost} штук плитки.\n")
  27.         print(u + f"Клей:\nВсего потратится {glue} кг. Для этого придётся купить {glue_n} пачек за "
  28.                   f"{glue_n * 400} рублей.\nПосле ремонта останется {glue_ost} кг.")
  29.  
  30.     except:
  31.         print(a + "Ошибка!")
  32.         bathroom()
  33.  
  34.  
  35. def kitchen():
  36.     print(a + "Введи размер комнаты в формате ДЛ*ШР*ВС")
  37.     room = input(u + "→ ")
  38.     try:
  39.         room = tuple(map(float, room.split("*")))
  40.         if len(room) != 3:
  41.             raise Exception
  42.         s = room[0] * room[1] + (room[0] * room[2] + room[1] * room[2]) / 4
  43.         glue = s * 2  # 66 кг
  44.         glue_n = math.ceil(glue / 25)  # колво пачек
  45.         glue_ost = glue_n * 25 - glue  # остаток
  46.         plitka = 0.6 * 0.6
  47.         plitka_n = math.ceil(s / plitka)
  48.         plitka_ost = round(plitka_n - s / plitka, 2)
  49.         print(u + f"Плитка:\nВсего потребуется купить {plitka_n} штук за {956 * s} рублей. После ремонта останется "
  50.                   f"{plitka_ost} штук плитки.\n")
  51.         print(u + f"Клей:\nВсего потратится {glue} кг. Для этого придётся купить {glue_n} пачек за "
  52.                   f"{glue_n * 400} рублей.\nПосле ремонта останется {glue_ost} кг.")
  53.  
  54.     except:
  55.         print(a + "Ошибка!")
  56.         bathroom()
  57.  
  58.  
  59. print(Fore.LIGHTRED_EX + "Запуск программы расчёта стоимости строительных материалов...")
  60. for x in tqdm(range(100)):
  61.     time.sleep(0.01)
  62. print(Fore.LIGHTCYAN_EX + "Успешно!")
  63. time.sleep(1)
  64. print(a + "Выбери тип комнаты:\n1. Ванная\n2. Кухня")
  65. ans = input(u + "→ ")
  66. while ans not in ("1", "2"):
  67.     ans = input(u + "→ ")
  68.  
  69. if ans == "1":
  70.     bathroom()
  71. else:
  72.     kitchen()
  73.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement