Advertisement
Brusnik

Untitled

Jul 17th, 2025
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.55 KB | None | 0 0
  1. # Задание №1
  2.  
  3. def division(expression):
  4.     operands = list(map(float, expression.split('/')))
  5.  
  6.     try:
  7.         return operands[0] / operands[1]
  8.     except ZeroDivisionError:
  9.         return "ERROR"
  10.  
  11. print(division(input()))
  12.  
  13.  
  14. # Задание №2
  15.  
  16. def find_password(*args):
  17.     correct_passwords = []
  18.     for password in args:
  19.         try:
  20.             int(password, 16)
  21.             correct_passwords.append(password)
  22.         except ValueError:
  23.             pass
  24.     return correct_passwords
  25.  
  26. print(find_password("password", "123456", "abcdef", "bcdefg"))
  27.  
  28.  
  29. # Задание №3
  30.  
  31. olympiad1 = {"name": "Пробная вышка",
  32.     "winners": {
  33.         "Олеся Олимпиадникова": 594,
  34.         "Олег Олимпиадников": 587,
  35.         "Онисим Олимпиадников": 581,
  36.     }
  37. }
  38.  
  39. olympiad2 = {"name": "Горные воробьи",
  40.     "winners": {
  41.         "Ольга Олимпиадникова": (20, 20, 19, 20),
  42.         "Олеся Олимпиадникова": (19, 19, 20, 20, 17),
  43.         "Офелия Олимпиадникова": (20, 20, 20, 20, 13)
  44.     }
  45. }
  46.  
  47. def check_winner(winner, *olympiads):
  48.     data_1 = []
  49.  
  50.     for olympiad in olympiads:
  51.         if olympiad['name'] == 'Пробная вышка':
  52.             try:
  53.                 data_1.append(('[Пробная вышка]', 'Победитель,', olympiad['winners'][winner]))
  54.             except KeyError:
  55.                 data_1.append(('[Пробная вышка]', 'Призёр'))
  56.         elif olympiad['name'] == 'Горные воробьи':
  57.             try:
  58.                 data_1.append(('[Горные воробьи]', 'Победитель,', olympiad['winners'][winner][4]))
  59.             except KeyError:
  60.                 data_1.append(('[Горные воробьи]', 'Призёр'))
  61.             except IndexError:
  62.                 data_1.append(('[Горные воробьи]', 'Победитель,', 'Технические неполадки... Баллы за пятый номер не найдены...'))
  63.  
  64.  
  65.     for data in data_1:
  66.         print(*data)
  67.         print('--------------------')
  68.  
  69. check_winner("Ольга Олимпиадникова", olympiad1, olympiad2)
  70. check_winner("Олеся Олимпиадникова", olympiad1, olympiad2)
  71.  
  72.  
  73. # Задание №4
  74.  
  75. def no_escape():
  76.     try:
  77.         while True:
  78.             pass
  79.     except KeyboardInterrupt:
  80.         while True:
  81.             pass
  82.  
  83.  
  84.  
  85. # Задание №5
  86.  
  87. class LizardInLemonadeMug(Exception):
  88.     pass
  89.  
  90. class FireInTheBar(Exception):
  91.     pass
  92.  
  93. def bar():
  94.     try:
  95.         data = input("Сколько кружек лимонада желаете заказать? ").lower()
  96.         if data == 'ящерица в стакане':
  97.             raise LizardInLemonadeMug()
  98.         if data == 'где туалет?':
  99.             raise FireInTheBar()
  100.         try:
  101.             quantity = int(data)
  102.             if quantity < 1:
  103.                 raise ValueError
  104.             assert quantity < 11
  105.             print(f'Ваш заказ {quantity} кружек лимонада готов!')
  106.         except AssertionError:
  107.             print('Посетитель не может заказать более 10 кружек лимонада!')
  108.         except ValueError:
  109.             print("Такого не может быть!")
  110.     except LizardInLemonadeMug:
  111.         print("Такого в нашем баре не делают...")
  112.     except FireInTheBar:
  113.         print("Бар сгорел...")
  114.  
  115. bar()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement