Try-Except
Azamat Kibekbaev
Повторение
• Напишите функцию, которая принимает цифру и
возвращает список от 0 до (не включительно) переданной
цифры. Например, если дана цифра 3, то функция должна
возвращать [0,1,2].
• random.random()
• Возвращает следующее случайное вещественное число,
находящееся в диапазоне от 0 до 1.
• Примеры:
• random.random()
• Для работы с числами:
• random.randrange([start], stop[, step])¶
• Возвращает случайно выбранный элемент из range(start,
stop, step).
• Примеры:
• random.randrange(134)
• random.randrange(1, 100, 2)
•
• random.randint(a, b)
• Возвращает число N, который больше или равно a, но
меньше или равно b ( a <= N <= b ).
• Пример:
• random.randint(1, 10)
• Для работы с перечислениями:
• random.choice(перечисление)
• Возвращает случайный элемент из переданного перечисления
• Примеры:
• random.choice('this=is+a*test-string')
• random.choice([1,2,3,4,56,76])
•
• random.shuffle(перечисление)
• На месте перемешивает переданное изменяемое перечисление
• Примеры:
• x = [1,2,3,4,56,76]
• random.shuffle(x)
• print(x)
• y = [x for x in "это пример"]
• random.shuffle(y)
• print(x)
• >>> random.randrange(5, 10)
• 9
• >>> random.randrange(1, 2)
• 1
• >>> random.randrange(10, 20, 3)
• 13
• >>> random.randrange(10, 20, 3)
• 19
• >>> random.randrange(10, 20, 3)
• 10
• >>> random.randint(-100, 10)
• -83
• >>> random.randint(-100, -10)
• -38
• >>> random.random()
• 0.17855729241927576
• >>> random.random()
• 0.3310978930421846
• >>> a = random.random()
• >>> a
• 0.8366142721623201
• >>> round(a, 2)
• 0.84
• >>> round(random.random(), 3)
• 0.629
• Чтобы получать случайные вещественные числа в иных
пределах, отличных от [0; 1), прибегают к математическим
приемам. Так если умножить полученное из random()
число на любое целое, то получится вещественное в
диапазоне от 0 до этого целого, не включая его:
• >>> random.random() * 10
• 2.510618091637596
• >>> random.random() * 10
• 6.977540211221759
Практическая работа
• string = "5"
• number = int(string)
• print(number)
• Данный скрипт успешно скомпилируется и выполнится, так
как строка "5" вполне может быть конвертирована в число.
Однако возьмем другой пример:
• string = "hello"
• number = int(string)
• print(number)
• try:
• инструкции
• except [Тип_исключения]:
• инструкции
• Весь основной код, в котором потенциально может
возникнуть исключение, помещается после ключевого
слова try. Если в этом коде генерируется исключение, то
работа кода в блоке try прерывается, и выполнение
переходит в блок except.
• После ключевого слова except опционально можно
указать, какое исключение будет обрабатываться
(например, ValueError или KeyError). После слова except на
следующей стоке идут инструкции блока except,
выполняемые при возникновении исключения.
• Рассмотрим обработку исключения на примере
преобразовании строки в число:
• try:
• number = int(input("Введите число: "))
• print("Введенное число:", number)
• except:
• print("Преобразование прошло неудачно")
• print("Завершение программы")
• n = input("Введите целое число: ")
• try:
• n = int(n)
• print("Удачно")
• except:
• print("Что-то пошло не так")
• Если ситуация такова, что в программе могут быть сгенерированы
различные типы исключений, то мы можем их обработать по
отдельности, используя дополнительные выражения except:
• try:
• number1 = int(input("Введите первое число: "))
• number2 = int(input("Введите второе число: "))
• print("Результат деления:", number1/number2)
• except ValueError:
• print("Преобразование прошло неудачно")
• except ZeroDivisionError:
• print("Попытка деления числа на ноль")
• except Exception:
• print("Общее исключение")
• print("Завершение программы")
• try:
• if D < 0:
• elif D == 0:
• x = -b / (2 * a)
• else:
• except ZeroDivisionError:
• Первое значение: 4
• Второе значение: 5
• Результат: 9.0
• Первое значение: a
• Второе значение: 9
• Результат: a9