Программирование Python. Обработка ошибок и исключений презентация

Содержание

Слайд 2

Тема

Слайд 3

Тема

Что произойдет, если мы попытаемся целое число разделить на 0?

Слайд 4

Тема

Увидим ошибку о делении на ноль - ZeroDivisionError

Что произойдет, если мы попытаемся

целое число разделить на 0?

Слайд 5

Тема

Какую ошибку увидим на экране, если попытаемся обратиться к элементу списка по индексу,

которого не существует?

Увидим ошибку о делении на ноль - ZeroDivisionError

Что произойдет, если мы попытаемся целое число разделить на 0?

Слайд 6

Тема

Какую ошибку увидим на экране, если попытаемся обратиться к элементу списка по индексу,

которого не существует?

Увидим ошибку о делении на ноль - ZeroDivisionError

Увидим ошибку IndexError

Что произойдет, если мы попытаемся целое число разделить на 0?

Слайд 7

Тема

Какую ошибку увидим на экране, если попытаемся обратиться к элементу списка по индексу,

которого не существует?

Увидим ошибку о делении на ноль - ZeroDivisionError

Увидим ошибку IndexError

Функция int() может преобразовать любой объект в целое число?

Что произойдет, если мы попытаемся целое число разделить на 0?

Слайд 8

Тема

Какую ошибку увидим на экране, если попытаемся обратиться к элементу списка по индексу,

которого не существует?

Увидим ошибку о делении на ноль - ZeroDivisionError

Увидим ошибку IndexError

Функция int() может преобразовать любой объект в целое число?

Нет, только число и строку, состоящую из цифр

Что произойдет, если мы попытаемся целое число разделить на 0?

Слайд 9

Тема

Какую ошибку увидим на экране, если попытаемся обратиться к элементу списка по индексу,

которого не существует?

Увидим ошибку о делении на ноль - ZeroDivisionError

Увидим ошибку IndexError

Функция int() может преобразовать любой объект в целое число?

Нет, только число и строку, состоящую из цифр

Можно ли использовать условный оператор if без оператора else?

Что произойдет, если мы попытаемся целое число разделить на 0?

Слайд 10

Тема

Какую ошибку увидим на экране, если попытаемся обратиться к элементу списка по индексу,

которого не существует?

Увидим ошибку о делении на ноль - ZeroDivisionError

Увидим ошибку IndexError

Функция int() может преобразовать любой объект в целое число?

Нет, только число и строку, состоящую из цифр

Можно ли использовать условный оператор if без оператора else?

Что произойдет, если мы попытаемся целое число разделить на 0?

Да, можно

Слайд 11

Тема

Какую ошибку увидим на экране, если попытаемся обратиться к элементу списка по индексу,

которого не существует?

Увидим ошибку о делении на ноль - ZeroDivisionError

Увидим ошибку IndexError

Функция int() может преобразовать любой объект в целое число?

Нет, только число и строку, состоящую из цифр

Можно ли использовать условный оператор if без оператора else?

Что произойдет, если мы попытаемся целое число разделить на 0?

Можно ли использовать условный оператор elif без оператора if?

Да, можно

Слайд 12

Тема

Какую ошибку увидим на экране, если попытаемся обратиться к элементу списка по индексу,

которого не существует?

Увидим ошибку о делении на ноль - ZeroDivisionError

Увидим ошибку IndexError

Функция int() может преобразовать любой объект в целое число?

Нет, только число и строку, состоящую из цифр

Можно ли использовать условный оператор if без оператора else?

Что произойдет, если мы попытаемся целое число разделить на 0?

Можно ли использовать условный оператор elif без оператора if?

Да, можно

Нет, нельзя

Слайд 13

Ошибки и исключения

Слайд 14

Ошибки и исключения

Синтаксическая ошибка – появляется, если написанный код не соответствует правилам языка

(например, не стоит отступ там, где это нужно)

Исключение – появляется во время работы программы (например, обращение к элементу списка по несуществующему индексу)

Слайд 15

Ошибки и исключения

SyntaxError – синтаксическая ошибка в коде.

Например, data = [1, 2,

3 – появится ошибка из-за незакрытой квадратной скобки

IndentationError – ошибка, возникающая из-за проблем с отступами.

 
В таком коде появится ошибка из-за того, что код внутри тела оператора if должен выделяться отступом.

Например,
if 2 + 2 > 3:
print('Здесь была математика')

Слайд 16

1

«Деление на ноль»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна

вывести на экран частное от деления первого числа на второе. Если второе число равно нулю – вывести на экран фразу «Делить на ноль нельзя!».

Слайд 17

1

«Деление на ноль»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна

вывести на экран частное от деления первого числа на второе. Если второе число равно нулю – вывести на экран фразу «Делить на ноль нельзя!».

Слайд 18

1

«Деление на ноль»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна

вывести на экран частное от деления первого числа на второе. Если второе число равно нулю – вывести на экран фразу «Делить на ноль нельзя!».

num_1 = int(input())
num_2 = int(input())

Слайд 19

1

«Деление на ноль»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна

вывести на экран частное от деления первого числа на второе. Если второе число равно нулю – вывести на экран фразу «Делить на ноль нельзя!».

num_1 = int(input())
num_2 = int(input())
if num_2 == 0:

Слайд 20

1

«Деление на ноль»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна

вывести на экран частное от деления первого числа на второе. Если второе число равно нулю – вывести на экран фразу «Делить на ноль нельзя!».

num_1 = int(input())
num_2 = int(input())
if num_2 == 0:
print('Делить на ноль нельзя!')

Слайд 21

1

«Деление на ноль»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна

вывести на экран частное от деления первого числа на второе. Если второе число равно нулю – вывести на экран фразу «Делить на ноль нельзя!».

num_1 = int(input())
num_2 = int(input())
if num_2 == 0:
print('Делить на ноль нельзя!')
else:

Слайд 22

1

«Деление на ноль»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна

вывести на экран частное от деления первого числа на второе. Если второе число равно нулю – вывести на экран фразу «Делить на ноль нельзя!».

num_1 = int(input())
num_2 = int(input())
if num_2 == 0:
print('Делить на ноль нельзя!')
else:
print(num_1 / num_2)

Слайд 23

Если бы не было проверки на равенство нулю

1

«Деление на ноль»
На вход программе с

клавиатуры подаются 2 натуральных числа. Программа должна вывести на экран частное от деления первого числа на второе. Если второе число равно нулю – вывести на экран фразу «Делить на ноль нельзя!».

num_1 = int(input())
num_2 = int(input())
if num_2 == 0:
print('Делить на ноль нельзя!')
else:
print(num_1 / num_2)

Слайд 24

Если бы не было проверки на равенство нулю

1

«Деление на ноль»
На вход программе с

клавиатуры подаются 2 натуральных числа. Программа должна вывести на экран частное от деления первого числа на второе. Если второе число равно нулю – вывести на экран фразу «Делить на ноль нельзя!».

num_1 = int(input())
num_2 = int(input())
if num_2 == 0:
print('Делить на ноль нельзя!')
else:
print(num_1 / num_2)

>>> ZeroDivisionError

Слайд 25

Конструкция try-except

Слайд 26

1

«Деление на ноль»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна

вывести на экран частное от деления первого числа на второе. Если второе число равно нулю – вывести на экран фразу «Делить на ноль нельзя!».

num_1 = int(input())
num_2 = int(input())

Слайд 27

1

«Деление на ноль»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна

вывести на экран частное от деления первого числа на второе. Если второе число равно нулю – вывести на экран фразу «Делить на ноль нельзя!».

num_1 = int(input())
num_2 = int(input())
try: # код, где потенциально может возникнуть ошибка

Слайд 28

1

«Деление на ноль»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна

вывести на экран частное от деления первого числа на второе. Если второе число равно нулю – вывести на экран фразу «Делить на ноль нельзя!».

num_1 = int(input())
num_2 = int(input())
try: # код, где потенциально может возникнуть ошибка
print(num_1 / num_2)

Слайд 29

1

«Деление на ноль»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна

вывести на экран частное от деления первого числа на второе. Если второе число равно нулю – вывести на экран фразу «Делить на ноль нельзя!».

num_1 = int(input())
num_2 = int(input())
try: # код, где потенциально может возникнуть ошибка
print(num_1 / num_2)
except: # обработка ошибки деления на ноль

Слайд 30

1

«Деление на ноль»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна

вывести на экран частное от деления первого числа на второе. Если второе число равно нулю – вывести на экран фразу «Делить на ноль нельзя!».

num_1 = int(input())
num_2 = int(input())
try: # код, где потенциально может возникнуть ошибка
print(num_1 / num_2)
except: # обработка ошибки деления на ноль
print('Возникла ошибка')

Слайд 31

1

«Деление на ноль»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна

вывести на экран частное от деления первого числа на второе. Если второе число равно нулю – вывести на экран фразу «Делить на ноль нельзя!».

try: # код, где потенциально может возникнуть ошибка
num_1 = int(input())
num_2 = int(input())
print(num_1 / num_2)
except: # обработка ошибки деления на ноль
print('Возникла ошибка')

Слайд 32

try: # код, где потенциально может возникнуть ошибка
num_1 = int(input())
num_2 =

int(input())
print(num_1 / num_2)
# обработка ошибки деления на ноль
except ZeroDivisionError:
print('На ноль делить нельзя!')

1

«Деление на ноль»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна вывести на экран частное от деления первого числа на второе. Если второе число равно нулю – вывести на экран фразу «Делить на ноль нельзя!».

Слайд 33

1

«Деление на ноль»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна

вывести на экран частное от деления первого числа на второе. Если второе число равно нулю – вывести на экран фразу «Делить на ноль нельзя!».

try: # код, где потенциально может возникнуть ошибка
num_1 = int(input())
num_2 = int(input())
print(num_1 / num_2)
# обработка ошибки деления на ноль
except ZeroDivisionError:
print('На ноль делить нельзя!')
# обработка некорректного ввода
except ValueError:

Слайд 34

1

«Деление на ноль»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна

вывести на экран частное от деления первого числа на второе. Если второе число равно нулю – вывести на экран фразу «Делить на ноль нельзя!».

try: # код, где потенциально может возникнуть ошибка
num_1 = int(input())
num_2 = int(input())
print(num_1 / num_2)
# обработка ошибки деления на ноль
except ZeroDivisionError:
print('На ноль делить нельзя!')
# обработка некорректного ввода
except ValueError:
print('Введено некорректное значение!')

Слайд 35

Конструкция try-except

try – блок кода, где могут возникнуть ошибки

except – блок кода,

который выполняется при возникновении ошибки. Без указания конкретной ошибки способен отлавливать все возникающие ошибки и исключения.

Слайд 36

Конструкция try-except-else

Слайд 37

1

«Деление на ноль»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна

вывести на экран частное от деления первого числа на второе. Если второе число равно нулю – вывести на экран фразу «Делить на ноль нельзя!».

try: # код, где потенциально может возникнуть ошибка
num_1 = int(input())
num_2 = int(input())
print(num_1 / num_2)
# обработка ошибки деления на ноль
except ZeroDivisionError:
print('На ноль делить нельзя!')
except ValueError: # обработка некорректного ввода
print('Введено некорректное значение!')

Слайд 38

1

«Деление на ноль»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна

вывести на экран частное от деления первого числа на второе. Если второе число равно нулю – вывести на экран фразу «Делить на ноль нельзя!».

try: # код, где потенциально может возникнуть ошибка
num_1 = int(input())
num_2 = int(input())
result = num_1 / num_2
# обработка ошибки деления на ноль
except ZeroDivisionError:
print('На ноль делить нельзя!')
except ValueError: # обработка некорректного ввода
print('Введено некорректное значение!')

Слайд 39

1

«Деление на ноль»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна

вывести на экран частное от деления первого числа на второе. Если второе число равно нулю – вывести на экран фразу «Делить на ноль нельзя!».

try: # код, где потенциально может возникнуть ошибка
num_1 = int(input())
num_2 = int(input())
result = num_1 / num_2
# обработка ошибки деления на ноль
except ZeroDivisionError:
print('На ноль делить нельзя!')
except ValueError: # обработка некорректного ввода
print('Введено некорректное значение!')
else: # если ошибок нет - выводим частное от деления
print(f'Частное от деления: {result}')

Слайд 40

Конструкция try-except-else

try – блок кода, где могут возникнуть ошибки

except – блок кода,

который выполняется при возникновении ошибки. Без указания конкретной ошибки способен отлавливать все возникающие ошибки и исключения.

else – блок кода, который выполняется при отсутствии ошибок

Слайд 41

2

«Второй шанс»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна вывести

на экран остаток от деления первого числа на второе. Если происходит деление на ноль – вывести на экран фразу «Делить на ноль нельзя, введите новое число:» и запросить новое число для ввода. Если пользователь вводит некорректные значения для чисел – вывести на экран фразу «Введены некорректные значения» и попросить пользователя указать оба числа заново.

Слайд 42

2

«Второй шанс»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна вывести

на экран остаток от деления первого числа на второе. Если происходит деление на ноль – вывести на экран фразу «Делить на ноль нельзя, введите новое число:» и запросить новое число для ввода. Если пользователь вводит некорректные значения для чисел – вывести на экран фразу «Введены некорректные значения» и попросить пользователя указать оба числа заново.

try: # код с вычислением остатка от деления
num_1 = int(input('Введите первое число:'))
num_2 = int(input('Введите второе число:'))
result = num_1 % num_2

Слайд 43

2

«Второй шанс»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна вывести

на экран остаток от деления первого числа на второе. Если происходит деление на ноль – вывести на экран фразу «Делить на ноль нельзя, введите новое число:» и запросить новое число для ввода. Если пользователь вводит некорректные значения для чисел – вывести на экран фразу «Введены некорректные значения» и попросить пользователя указать оба числа заново.

try: # код с вычислением остатка от деления
num_1 = int(input('Введите первое число:'))
num_2 = int(input('Введите второе число:'))
result = num_1 % num_2
except ZeroDivisionError: # обработка ошибки деления на ноль

Слайд 44

2

«Второй шанс»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна вывести

на экран остаток от деления первого числа на второе. Если происходит деление на ноль – вывести на экран фразу «Делить на ноль нельзя, введите новое число:» и запросить новое число для ввода. Если пользователь вводит некорректные значения для чисел – вывести на экран фразу «Введены некорректные значения» и попросить пользователя указать оба числа заново.

try: # код с вычислением остатка от деления
num_1 = int(input('Введите первое число:'))
num_2 = int(input('Введите второе число:'))
result = num_1 % num_2
except ZeroDivisionError: # обработка ошибки деления на ноль
# повторно вводим второе число
num_2 = int(input('Делить на ноль нельзя, введите новое число:'))

Слайд 45

2

«Второй шанс»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна вывести

на экран остаток от деления первого числа на второе. Если происходит деление на ноль – вывести на экран фразу «Делить на ноль нельзя, введите новое число:» и запросить новое число для ввода. Если пользователь вводит некорректные значения для чисел – вывести на экран фразу «Введены некорректные значения» и попросить пользователя указать оба числа заново.

try: # код с вычислением остатка от деления
num_1 = int(input('Введите первое число:'))
num_2 = int(input('Введите второе число:'))
result = num_1 % num_2
except ZeroDivisionError: # обработка ошибки деления на ноль
# повторно вводим второе число
num_2 = int(input('Делить на ноль нельзя, введите новое число:'))
except ValueError: # обработка некорректного ввода

Слайд 46

2

«Второй шанс»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна вывести

на экран остаток от деления первого числа на второе. Если происходит деление на ноль – вывести на экран фразу «Делить на ноль нельзя, введите новое число:» и запросить новое число для ввода. Если пользователь вводит некорректные значения для чисел – вывести на экран фразу «Введены некорректные значения» и попросить пользователя указать оба числа заново.

try: # код с вычислением остатка от деления
num_1 = int(input('Введите первое число:'))
num_2 = int(input('Введите второе число:'))
result = num_1 % num_2
except ZeroDivisionError: # обработка ошибки деления на ноль
# повторно вводим второе число
num_2 = int(input('Делить на ноль нельзя, введите новое число:'))
except ValueError: # обработка некорректного ввода
print('Введены некорректные значения!')

Слайд 47

2

«Второй шанс»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна вывести

на экран остаток от деления первого числа на второе. Если происходит деление на ноль – вывести на экран фразу «Делить на ноль нельзя, введите новое число:» и запросить новое число для ввода. Если пользователь вводит некорректные значения для чисел – вывести на экран фразу «Введены некорректные значения» и попросить пользователя указать оба числа заново.

try: # код с вычислением остатка от деления
num_1 = int(input('Введите первое число:'))
num_2 = int(input('Введите второе число:'))
result = num_1 % num_2
except ZeroDivisionError: # обработка ошибки деления на ноль
# повторно вводим второе число
num_2 = int(input('Делить на ноль нельзя, введите новое число:'))
except ValueError: # обработка некорректного ввода
print('Введены некорректные значения!')
# повторно вводим оба числа
num_1 = int(input('Введите первое число:'))
num_2 = int(input('Введите второе число:'))

Слайд 48

2

«Второй шанс»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна вывести

на экран остаток от деления первого числа на второе. Если происходит деление на ноль – вывести на экран фразу «Делить на ноль нельзя, введите новое число:» и запросить новое число для ввода. Если пользователь вводит некорректные значения для чисел – вывести на экран фразу «Введены некорректные значения» и попросить пользователя указать оба числа заново.

try: # код с вычислением остатка от деления
num_1 = int(input('Введите первое число:'))
num_2 = int(input('Введите второе число:'))
result = num_1 % num_2
except ZeroDivisionError: # обработка ошибки деления на ноль
# повторно вводим второе число
num_2 = int(input('Делить на ноль нельзя, введите новое число:'))
except ValueError: # обработка некорректного ввода
print('Введены некорректные значения!')
# повторно вводим оба числа
num_1 = int(input('Введите первое число:'))
num_2 = int(input('Введите второе число:'))
else: # если ошибки отсутствуют - выводим остаток от деления
print(f'Остаток от деления: {result}')

Слайд 49

2

«Второй шанс»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна вывести

на экран остаток от деления первого числа на второе. Если происходит деление на ноль – вывести на экран фразу «Делить на ноль нельзя, введите новое число:» и запросить новое число для ввода. Если пользователь вводит некорректные значения для чисел – вывести на экран фразу «Введены некорректные значения» и попросить пользователя указать оба числа заново.

try: # код с вычислением остатка от деления
num_1 = int(input('Введите первое число:'))
num_2 = int(input('Введите второе число:'))
result = num_1 % num_2
except ZeroDivisionError: # обработка ошибки деления на ноль
# повторно вводим второе число
num_2 = int(input('Делить на ноль нельзя, введите новое число:'))
result = num_1 % num_2 # повторно вычисляем остаток от деления
except ValueError: # обработка некорректного ввода
print('Введены некорректные значения!')
# повторно вводим оба числа
num_1 = int(input('Введите первое число:'))
num_2 = int(input('Введите второе число:'))
else: # если ошибки отсутствуют - выводим остаток от деления
print(f'Остаток от деления: {result}')

Слайд 50

2

«Второй шанс»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна вывести

на экран остаток от деления первого числа на второе. Если происходит деление на ноль – вывести на экран фразу «Делить на ноль нельзя, введите новое число:» и запросить новое число для ввода. Если пользователь вводит некорректные значения для чисел – вывести на экран фразу «Введены некорректные значения» и попросить пользователя указать оба числа заново.

try: # код с вычислением остатка от деления
num_1 = int(input('Введите первое число:'))
num_2 = int(input('Введите второе число:'))
result = num_1 % num_2
except ZeroDivisionError: # обработка ошибки деления на ноль
# повторно вводим второе число
num_2 = int(input('Делить на ноль нельзя, введите новое число:'))
result = num_1 % num_2 # повторно вычисляем остаток от деления
print(f'Остаток от деления: {result}')
except ValueError: # обработка некорректного ввода
print('Введены некорректные значения!')
# повторно вводим оба числа
num_1 = int(input('Введите первое число:'))
num_2 = int(input('Введите второе число:'))
else: # если ошибки отсутствуют - выводим остаток от деления
print(f'Остаток от деления: {result}')

Слайд 51

2

«Второй шанс»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна вывести

на экран остаток от деления первого числа на второе. Если происходит деление на ноль – вывести на экран фразу «Делить на ноль нельзя, введите новое число:» и запросить новое число для ввода. Если пользователь вводит некорректные значения для чисел – вывести на экран фразу «Введены некорректные значения» и попросить пользователя указать оба числа заново.

try: # код с вычислением остатка от деления
num_1 = int(input('Введите первое число:'))
num_2 = int(input('Введите второе число:'))
result = num_1 % num_2
except ZeroDivisionError: # обработка ошибки деления на ноль
# повторно вводим второе число
num_2 = int(input('Делить на ноль нельзя, введите новое число:'))
result = num_1 % num_2 # повторно вычисляем остаток от деления
print(f'Остаток от деления: {result}')
except ValueError: # обработка некорректного ввода
print('Введены некорректные значения!')
# повторно вводим оба числа
num_1 = int(input('Введите первое число:'))
num_2 = int(input('Введите второе число:'))
result = num_1 % num_2 # повторно вычисляем остаток от деления
else: # если ошибки отсутствуют - выводим остаток от деления
print(f'Остаток от деления: {result}')

Слайд 52

2

«Второй шанс»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна вывести

на экран остаток от деления первого числа на второе. Если происходит деление на ноль – вывести на экран фразу «Делить на ноль нельзя, введите новое число:» и запросить новое число для ввода. Если пользователь вводит некорректные значения для чисел – вывести на экран фразу «Введены некорректные значения» и попросить пользователя указать оба числа заново.

try: # код с вычислением остатка от деления
num_1 = int(input('Введите первое число:'))
num_2 = int(input('Введите второе число:'))
result = num_1 % num_2
except ZeroDivisionError: # обработка ошибки деления на ноль
# повторно вводим второе число
num_2 = int(input('Делить на ноль нельзя, введите новое число:'))
result = num_1 % num_2 # повторно вычисляем остаток от деления
print(f'Остаток от деления: {result}')
except ValueError: # обработка некорректного ввода
print('Введены некорректные значения!')
# повторно вводим оба числа
num_1 = int(input('Введите первое число:'))
num_2 = int(input('Введите второе число:'))
result = num_1 % num_2 # повторно вычисляем остаток от деления
print(f'Остаток от деления: {result}')
else: # если ошибки отсутствуют - выводим остаток от деления
print(f'Остаток от деления: {result}')

Слайд 53

Конструкция try-except-else-finally

Слайд 54

1

«Деление на ноль»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна

вывести на экран частное от деления первого числа на второе. Если второе число равно нулю – вывести на экран фразу «Делить на ноль нельзя!».

try:
num_1 = int(input())
num_2 = int(input())
result = num_1 / num_2
except ZeroDivisionError:
print('На ноль делить нельзя!')
except ValueError:
print('Введено некорректное значение!')
else:
print(f'Частное от деления: {result}')

Слайд 55

1

«Деление на ноль»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна

вывести на экран частное от деления первого числа на второе. Если второе число равно нулю – вывести на экран фразу «Делить на ноль нельзя!».

try:
num_1 = int(input())
num_2 = int(input())
result = num_1 / num_2
except ZeroDivisionError:
print('На ноль делить нельзя!')
except ValueError:
print('Введено некорректное значение!')
else:
print(f'Частное от деления: {result}')
finally:
print('Работа программы закончена!')

Слайд 56

Конструкция try-except-else-finally

finally – блок кода, который выполняется в любом случае

try-finally

Возможные конфигурации блоков:

try-except

try-except-else

try-except-else-finally

try-except-finally

try –

блок кода, где могут возникнуть ошибки

except – блок кода, который выполняется при возникновении ошибки. Без указания конкретной ошибки способен отлавливать все возникающие ошибки и исключения.

else – блок кода, который выполняется при отсутствии ошибок

Слайд 57

3

«Второй шанс 2.0»
Доработайте программу с нахождением остатка от деления, используя блок finally для

устранения дублирования в коде.

try: # код с вычислением остатка от деления
num_1 = int(input('Введите первое число:'))
num_2 = int(input('Введите второе число:'))
result = num_1 % num_2
except ZeroDivisionError: # обработка ошибки деления на ноль
# повторно вводим второе число
num_2 = int(input('Делить на ноль нельзя, введите новое число:'))
result = num_1 % num_2 # повторно вычисляем остаток от деления
print(f'Остаток от деления: {result}')
except ValueError: # обработка некорректного ввода
print('Введены некорректные значения!')
# повторно вводим оба числа
num_1 = int(input('Введите первое число:'))
num_2 = int(input('Введите второе число:'))
result = num_1 % num_2 # повторно вычисляем остаток от деления
print(f'Остаток от деления: {result}')
else: # если ошибки отсутствуют - выводим остаток от деления
print(f'Остаток от деления: {result}')

Слайд 58

3

«Второй шанс 2.0»
Доработайте программу с нахождением остатка от деления, используя блок finally для

устранения дублирования в коде.

try: # код с вычислением остатка от деления
num_1 = int(input('Введите первое число:'))
num_2 = int(input('Введите второе число:'))
result = num_1 % num_2
except ZeroDivisionError: # обработка ошибки деления на ноль
num_2 = int(input('Делить на ноль нельзя, введите новое число:'))
except ValueError: # обработка некорректного ввода
print('Введено некорректны значения!')
num_1 = int(input('Введите первое число:'))
num_2 = int(input('Введите второе число:'))
finally:

Слайд 59

3

«Второй шанс 2.0»
Доработайте программу с нахождением остатка от деления, используя блок finally для

устранения дублирования в коде.

try: # код с вычислением остатка от деления
num_1 = int(input('Введите первое число:'))
num_2 = int(input('Введите второе число:'))
result = num_1 % num_2
except ZeroDivisionError: # обработка ошибки деления на ноль
num_2 = int(input('Делить на ноль нельзя, введите новое число:'))
except ValueError: # обработка некорректного ввода
print('Введено некорректны значения!')
num_1 = int(input('Введите первое число:'))
num_2 = int(input('Введите второе число:'))
finally:
result = num_1 % num_2

Слайд 60

3

«Второй шанс 2.0»
Доработайте программу с нахождением остатка от деления, используя блок finally для

устранения дублирования в коде.

try: # код с вычислением остатка от деления
num_1 = int(input('Введите первое число:'))
num_2 = int(input('Введите второе число:'))
result = num_1 % num_2
except ZeroDivisionError: # обработка ошибки деления на ноль
num_2 = int(input('Делить на ноль нельзя, введите новое число:'))
except ValueError: # обработка некорректного ввода
print('Введено некорректны значения!')
num_1 = int(input('Введите первое число:'))
num_2 = int(input('Введите второе число:'))
finally:
result = num_1 % num_2
print(f'Остаток от деления: {result}')

Слайд 61

Конструкция try-except-else-finally

Слайд 62

Конструкция try-except-else-finally

Лог – специальный текстовый файл, в котором хранится информация о действиях пользователя

или программы.

Слайд 63

4

«Лог калькулятора»
На вход программе с клавиатуры вводится имя пользователя, после чего пользователь вводит

одно число, затем операцию, после вводит второе число. Программа работает с указанными числами и операцией. Если возникают исключения – программа выводит информацию об этом на экран и просит пользователя указать новые данные для работы. После ввода корректных данных программа выводит результат вычислений на экран и спрашивает пользователя, хочет ли он продолжать работать с калькулятором. В случае положительного ответа, пользователь продолжает работать с калькулятором в прежней логике.
Программа также должна сохранять в текстовый файл log_calc.txt следующую информацию:
имя текущего пользователя
введенные пользователем данные
результаты вычислений
информацию об ошибках
новые данные от пользователя, если возникла ошибка
С каждым новым сеансом программа должна добавлять новую информацию в конец текстового файла.

Слайд 64

4

name = input('Укажите свое имя:') # ввод имени пользователя

Слайд 65

4

name = input('Укажите свое имя:') # ввод имени пользователя
# открываем файл в режиме

добавления
file = open('log_calc.txt', 'a', encoding='utf-8')

Слайд 66

4

name = input('Укажите свое имя:') # ввод имени пользователя
# открываем файл в режиме

добавления
file = open('log_calc.txt', 'a', encoding='utf-8')
file.write(f'Пользователь: {name}\n')# запись в лог-файл введенного имени пользователя

Слайд 67

4

name = input('Укажите свое имя:') # ввод имени пользователя
# открываем файл в режиме

добавления
file = open('log_calc.txt', 'a', encoding='utf-8')
file.write(f'Пользователь: {name}\n')# запись в лог-файл введенного имени пользователя
while True: # цикл работы с калькулятором

Слайд 68

4

name = input('Укажите свое имя:') # ввод имени пользователя
# открываем файл в режиме

добавления
file = open('log_calc.txt', 'a', encoding='utf-8')
file.write(f'Пользователь: {name}\n')# запись в лог-файл введенного имени пользователя
while True: # цикл работы с калькулятором
try: # ввод данных пользователем и вычисление результата

Слайд 69

4

name = input('Укажите свое имя:') # ввод имени пользователя
# открываем файл в режиме

добавления
file = open('log_calc.txt', 'a', encoding='utf-8')
file.write(f'Пользователь: {name}\n')# запись в лог-файл введенного имени пользователя
while True: # цикл работы с калькулятором
try: # ввод данных пользователем и вычисление результата
num_1 = int(input('Введите первое число:')) # ввод чисел и знака операции

Слайд 70

4

name = input('Укажите свое имя:') # ввод имени пользователя
# открываем файл в режиме

добавления
file = open('log_calc.txt', 'a', encoding='utf-8')
file.write(f'Пользователь: {name}\n')# запись в лог-файл введенного имени пользователя
while True: # цикл работы с калькулятором
try: # ввод данных пользователем и вычисление результата
num_1 = int(input('Введите первое число:')) # ввод чисел и знака операции
oper = input('Введите операцию (+ - * / ** // %):')

Слайд 71

4

name = input('Укажите свое имя:') # ввод имени пользователя
# открываем файл в режиме

добавления
file = open('log_calc.txt', 'a', encoding='utf-8')
file.write(f'Пользователь: {name}\n')# запись в лог-файл введенного имени пользователя
while True: # цикл работы с калькулятором
try: # ввод данных пользователем и вычисление результата
num_1 = int(input('Введите первое число:')) # ввод чисел и знака операции
oper = input('Введите операцию (+ - * / ** // %):')
num_2 = int(input('Введите второе число:'))

Слайд 72

4

name = input('Укажите свое имя:') # ввод имени пользователя
# открываем файл в режиме

добавления
file = open('log_calc.txt', 'a', encoding='utf-8')
file.write(f'Пользователь: {name}\n')# запись в лог-файл введенного имени пользователя
while True: # цикл работы с калькулятором
try: # ввод данных пользователем и вычисление результата
num_1 = int(input('Введите первое число:')) # ввод чисел и знака операции
oper = input('Введите операцию (+ - * / ** // %):')
num_2 = int(input('Введите второе число:'))
# запись в лог-файл о числах и операции
file.write(f'Совершается операция: {num_1}{oper}{num_2}\n')

Слайд 73

4

name = input('Укажите свое имя:') # ввод имени пользователя
# открываем файл в режиме

добавления
file = open('log_calc.txt', 'a', encoding='utf-8')
file.write(f'Пользователь: {name}\n')# запись в лог-файл введенного имени пользователя
while True: # цикл работы с калькулятором
try: # ввод данных пользователем и вычисление результата
num_1 = int(input('Введите первое число:')) # ввод чисел и знака операции
oper = input('Введите операцию (+ - * / ** // %):')
num_2 = int(input('Введите второе число:'))
# запись в лог-файл о числах и операции
file.write(f'Совершается операция: {num_1}{oper}{num_2}\n’)
---------------------------------------------------------------------------

Слайд 74

4

name = input('Укажите свое имя:') # ввод имени пользователя
# открываем файл в режиме

добавления
file = open('log_calc.txt', 'a', encoding='utf-8')
file.write(f'Пользователь: {name}\n')# запись в лог-файл введенного имени пользователя
while True: # цикл работы с калькулятором
try: # ввод данных пользователем и вычисление результата
num_1 = int(input('Введите первое число:')) # ввод чисел и знака операции
oper = input('Введите операцию (+ - * / ** // %):')
num_2 = int(input('Введите второе число:'))
# запись в лог-файл о числах и операции
file.write(f'Совершается операция: {num_1}{oper}{num_2}\n’)
---------------------------------------------------------------------------
print(eval('2 + 2'))

Слайд 75

4

name = input('Укажите свое имя:') # ввод имени пользователя
# открываем файл в режиме

добавления
file = open('log_calc.txt', 'a', encoding='utf-8')
file.write(f'Пользователь: {name}\n')# запись в лог-файл введенного имени пользователя
while True: # цикл работы с калькулятором
try: # ввод данных пользователем и вычисление результата
num_1 = int(input('Введите первое число:')) # ввод чисел и знака операции
oper = input('Введите операцию (+ - * / ** // %):')
num_2 = int(input('Введите второе число:'))
# запись в лог-файл о числах и операции
file.write(f'Совершается операция: {num_1}{oper}{num_2}\n’)
---------------------------------------------------------------------------
print(eval('2 + 2'))

>>> 4

Слайд 76

Конструкция try-except-else-finally

eval() – функция, принимающая выражение в виде строки и выполняющая его.

Слайд 77

4

name = input('Укажите свое имя:') # ввод имени пользователя
# открываем файл в режиме

добавления
file = open('log_calc.txt', 'a', encoding='utf-8')
file.write(f'Пользователь: {name}\n')# запись в лог-файл введенного имени пользователя
while True: # цикл работы с калькулятором
try: # ввод данных пользователем и вычисление результата
num_1 = int(input('Введите первое число:')) # ввод чисел и знака операции
oper = input('Введите операцию (+ - * / ** // %):')
num_2 = int(input('Введите второе число:'))
# запись в лог-файл о числах и операции
file.write(f'Совершается операция: {num_1}{oper}{num_2}\n')
result = eval(f'{num_1}{oper}{num_2} ') # вычисление результата

Слайд 78

4

name = input('Укажите свое имя:') # ввод имени пользователя
# открываем файл в режиме

добавления
file = open('log_calc.txt', 'a', encoding='utf-8')
file.write(f'Пользователь: {name}\n')# запись в лог-файл введенного имени пользователя
while True: # цикл работы с калькулятором
try: # ввод данных пользователем и вычисление результата
num_1 = int(input('Введите первое число:')) # ввод чисел и знака операции
oper = input('Введите операцию (+ - * / ** // %):')
num_2 = int(input('Введите второе число:'))
# запись в лог-файл о числах и операции
file.write(f'Совершается операция: {num_1}{oper}{num_2}\n')
result = eval(f'{num_1}{oper}{num_2} ') # вычисление результата
except ZeroDivisionError: # обработка ошибки деления на ноль

Слайд 79

4

name = input('Укажите свое имя:') # ввод имени пользователя
# открываем файл в режиме

добавления
file = open('log_calc.txt', 'a', encoding='utf-8')
file.write(f'Пользователь: {name}\n')# запись в лог-файл введенного имени пользователя
while True: # цикл работы с калькулятором
try: # ввод данных пользователем и вычисление результата
num_1 = int(input('Введите первое число:')) # ввод чисел и знака операции
oper = input('Введите операцию (+ - * / ** // %):')
num_2 = int(input('Введите второе число:'))
# запись в лог-файл о числах и операции
file.write(f'Совершается операция: {num_1}{oper}{num_2}\n')
result = eval(f'{num_1}{oper}{num_2} ') # вычисление результата
except ZeroDivisionError: # обработка ошибки деления на ноль
num_2 = int(input('Делить на ноль нельзя, введите новое число:'))

Слайд 80

4

name = input('Укажите свое имя:') # ввод имени пользователя
# открываем файл в режиме

добавления
file = open('log_calc.txt', 'a', encoding='utf-8')
file.write(f'Пользователь: {name}\n')# запись в лог-файл введенного имени пользователя
while True: # цикл работы с калькулятором
try: # ввод данных пользователем и вычисление результата
num_1 = int(input('Введите первое число:')) # ввод чисел и знака операции
oper = input('Введите операцию (+ - * / ** // %):')
num_2 = int(input('Введите второе число:'))
# запись в лог-файл о числах и операции
file.write(f'Совершается операция: {num_1}{oper}{num_2}\n')
result = eval(f'{num_1}{oper}{num_2} ') # вычисление результата
except ZeroDivisionError: # обработка ошибки деления на ноль
num_2 = int(input('Делить на ноль нельзя, введите новое число:'))
file.write(f'Ошибка деления на ноль\n') # запись информации в лог-файл

Слайд 81

4

name = input('Укажите свое имя:') # ввод имени пользователя
# открываем файл в режиме

добавления
file = open('log_calc.txt', 'a', encoding='utf-8')
file.write(f'Пользователь: {name}\n')# запись в лог-файл введенного имени пользователя
while True: # цикл работы с калькулятором
try: # ввод данных пользователем и вычисление результата
num_1 = int(input('Введите первое число:')) # ввод чисел и знака операции
oper = input('Введите операцию (+ - * / ** // %):')
num_2 = int(input('Введите второе число:'))
# запись в лог-файл о числах и операции
file.write(f'Совершается операция: {num_1}{oper}{num_2}\n')
result = eval(f'{num_1}{oper}{num_2} ') # вычисление результата
except ZeroDivisionError: # обработка ошибки деления на ноль
num_2 = int(input('Делить на ноль нельзя, введите новое число:'))
file.write(f'Ошибка деления на ноль\n') # запись информации в лог-файл
file.write(f'Введено новое число: {num_2}\n')

Слайд 82

4

name = input('Укажите свое имя:') # ввод имени пользователя
# открываем файл в режиме

добавления
file = open('log_calc.txt', 'a', encoding='utf-8')
file.write(f'Пользователь: {name}\n')# запись в лог-файл введенного имени пользователя
while True: # цикл работы с калькулятором
try: # ввод данных пользователем и вычисление результата
num_1 = int(input('Введите первое число:')) # ввод чисел и знака операции
oper = input('Введите операцию (+ - * / ** // %):')
num_2 = int(input('Введите второе число:'))
# запись в лог-файл о числах и операции
file.write(f'Совершается операция: {num_1}{oper}{num_2}\n')
result = eval(f'{num_1}{oper}{num_2} ') # вычисление результата
except ZeroDivisionError: # обработка ошибки деления на ноль
num_2 = int(input('Делить на ноль нельзя, введите новое число:'))
file.write(f'Ошибка деления на ноль\n') # запись информации в лог-файл
file.write(f'Введено новое число: {num_2}\n')
except ValueError: # обработка некорректного ввода чисел

Слайд 83

4

name = input('Укажите свое имя:') # ввод имени пользователя
# открываем файл в режиме

добавления
file = open('log_calc.txt', 'a', encoding='utf-8')
file.write(f'Пользователь: {name}\n')# запись в лог-файл введенного имени пользователя
while True: # цикл работы с калькулятором
try: # ввод данных пользователем и вычисление результата
num_1 = int(input('Введите первое число:')) # ввод чисел и знака операции
oper = input('Введите операцию (+ - * / ** // %):')
num_2 = int(input('Введите второе число:'))
# запись в лог-файл о числах и операции
file.write(f'Совершается операция: {num_1}{oper}{num_2}\n')
result = eval(f'{num_1}{oper}{num_2} ') # вычисление результата
except ZeroDivisionError: # обработка ошибки деления на ноль
num_2 = int(input('Делить на ноль нельзя, введите новое число:'))
file.write(f'Ошибка деления на ноль\n') # запись информации в лог-файл
file.write(f'Введено новое число: {num_2}\n')
except ValueError: # обработка некорректного ввода чисел
print('Введены некорректные значения!')

Слайд 84

4

name = input('Укажите свое имя:') # ввод имени пользователя
# открываем файл в режиме

добавления
file = open('log_calc.txt', 'a', encoding='utf-8')
file.write(f'Пользователь: {name}\n')# запись в лог-файл введенного имени пользователя
while True: # цикл работы с калькулятором
try: # ввод данных пользователем и вычисление результата
num_1 = int(input('Введите первое число:')) # ввод чисел и знака операции
oper = input('Введите операцию (+ - * / ** // %):')
num_2 = int(input('Введите второе число:'))
# запись в лог-файл о числах и операции
file.write(f'Совершается операция: {num_1}{oper}{num_2}\n')
result = eval(f'{num_1}{oper}{num_2} ') # вычисление результата
except ZeroDivisionError: # обработка ошибки деления на ноль
num_2 = int(input('Делить на ноль нельзя, введите новое число:'))
file.write(f'Ошибка деления на ноль\n') # запись информации в лог-файл
file.write(f'Введено новое число: {num_2}\n')
except ValueError: # обработка некорректного ввода чисел
print('Введены некорректные значения!')
num_1 = int(input('Введите первое число:')) # повторный ввод первого числа
num_2 = int(input('Введите второе число:')) # повторный ввод второго числа

Слайд 85

4

name = input('Укажите свое имя:') # ввод имени пользователя
# открываем файл в режиме

добавления
file = open('log_calc.txt', 'a', encoding='utf-8')
file.write(f'Пользователь: {name}\n')# запись в лог-файл введенного имени пользователя
while True: # цикл работы с калькулятором
try: # ввод данных пользователем и вычисление результата
num_1 = int(input('Введите первое число:')) # ввод чисел и знака операции
oper = input('Введите операцию (+ - * / ** // %):')
num_2 = int(input('Введите второе число:'))
# запись в лог-файл о числах и операции
file.write(f'Совершается операция: {num_1}{oper}{num_2}\n')
result = eval(f'{num_1}{oper}{num_2} ') # вычисление результата
except ZeroDivisionError: # обработка ошибки деления на ноль
num_2 = int(input('Делить на ноль нельзя, введите новое число:'))
file.write(f'Ошибка деления на ноль\n') # запись информации в лог-файл
file.write(f'Введено новое число: {num_2}\n')
except ValueError: # обработка некорректного ввода чисел
print('Введены некорректные значения!')
num_1 = int(input('Введите первое число:')) # повторный ввод первого числа
num_2 = int(input('Введите второе число:')) # повторный ввод второго числа
file.write(f'Ввод некорректных значений\n')

Слайд 86

4

name = input('Укажите свое имя:') # ввод имени пользователя
# открываем файл в режиме

добавления
file = open('log_calc.txt', 'a', encoding='utf-8')
file.write(f'Пользователь: {name}\n')# запись в лог-файл введенного имени пользователя
while True: # цикл работы с калькулятором
try: # ввод данных пользователем и вычисление результата
num_1 = int(input('Введите первое число:')) # ввод чисел и знака операции
oper = input('Введите операцию (+ - * / ** // %):')
num_2 = int(input('Введите второе число:'))
# запись в лог-файл о числах и операции
file.write(f'Совершается операция: {num_1}{oper}{num_2}\n')
result = eval(f'{num_1}{oper}{num_2} ') # вычисление результата
except ZeroDivisionError: # обработка ошибки деления на ноль
num_2 = int(input('Делить на ноль нельзя, введите новое число:'))
file.write(f'Ошибка деления на ноль\n') # запись информации в лог-файл
file.write(f'Введено новое число: {num_2}\n')
except ValueError: # обработка некорректного ввода чисел
print('Введены некорректные значения!')
num_1 = int(input('Введите первое число:')) # повторный ввод первого числа
num_2 = int(input('Введите второе число:')) # повторный ввод второго числа
file.write(f'Ввод некорректных значений\n')
file.write(f'Введены новые числа: {num_1} и {num_2}\n')

Слайд 87

4

except SyntaxError: # обработка некорректного ввода операции

. . .

Слайд 88

4

except SyntaxError: # обработка некорректного ввода операции
# повторный ввод операции
oper =

input('Введите корретную операцию (+ - * / ** // %):')

. . .

Слайд 89

4

except SyntaxError: # обработка некорректного ввода операции
# повторный ввод операции
oper =

input('Введите корретную операцию (+ - * / ** // %):')
file.write(f'Ввод некорректной операций\n') # запись информации в лог-файл
file.write(f'Введена новая операция: {oper}\n')

. . .

Слайд 90

4

except SyntaxError: # обработка некорректного ввода операции
# повторный ввод операции
oper =

input('Введите корретную операцию (+ - * / ** // %):')
file.write(f'Ввод некорректной операций\n') # запись информации в лог-файл
file.write(f'Введена новая операция: {oper}\n')
finally: # финальное вычисление результата и запрос новых данных от пользователя

. . .

Слайд 91

4

except SyntaxError: # обработка некорректного ввода операции
# повторный ввод операции
oper =

input('Введите корретную операцию (+ - * / ** // %):')
file.write(f'Ввод некорректной операций\n') # запись информации в лог-файл
file.write(f'Введена новая операция: {oper}\n')
finally: # финальное вычисление результата и запрос новых данных от пользователя
result = eval(f'{num_1}{oper}{num_2}') # вычисление результатa

. . .

Слайд 92

4

except SyntaxError: # обработка некорректного ввода операции
# повторный ввод операции
oper =

input('Введите корретную операцию (+ - * / ** // %):')
file.write(f'Ввод некорректной операций\n') # запись информации в лог-файл
file.write(f'Введена новая операция: {oper}\n')
finally: # финальное вычисление результата и запрос новых данных от пользователя
result = eval(f'{num_1}{oper}{num_2}') # вычисление результатa
print(f'Результат операции: {num_1}{oper}{num_2} = {result}')

. . .

Слайд 93

4

except SyntaxError: # обработка некорректного ввода операции
# повторный ввод операции
oper =

input('Введите корретную операцию (+ - * / ** // %):')
file.write(f'Ввод некорректной операций\n') # запись информации в лог-файл
file.write(f'Введена новая операция: {oper}\n')
finally: # финальное вычисление результата и запрос новых данных от пользователя
result = eval(f'{num_1}{oper}{num_2}') # вычисление результатa
print(f'Результат операции: {num_1}{oper}{num_2} = {result}')
# запись информации в лог-файл
file.write(f'Результат: {num_1}{oper}{num_2} = {result}\n')

. . .

Слайд 94

4

except SyntaxError: # обработка некорректного ввода операции
# повторный ввод операции
oper =

input('Введите корретную операцию (+ - * / ** // %):')
file.write(f'Ввод некорректной операций\n') # запись информации в лог-файл
file.write(f'Введена новая операция: {oper}\n')
finally: # финальное вычисление результата и запрос новых данных от пользователя
result = eval(f'{num_1}{oper}{num_2}') # вычисление результатa
print(f'Результат операции: {num_1}{oper}{num_2} = {result}')
# запись информации в лог-файл
file.write(f'Результат: {num_1}{oper}{num_2} = {result}\n')
# запрос пользователю на продолжение работы
is_continue = input('Продолжить работу с калькулятором? (Y/N):')

. . .

Слайд 95

4

except SyntaxError: # обработка некорректного ввода операции
# повторный ввод операции
oper =

input('Введите корретную операцию (+ - * / ** // %):')
file.write(f'Ввод некорректной операций\n') # запись информации в лог-файл
file.write(f'Введена новая операция: {oper}\n')
finally: # финальное вычисление результата и запрос новых данных от пользователя
result = eval(f'{num_1}{oper}{num_2}') # вычисление результатa
print(f'Результат операции: {num_1}{oper}{num_2} = {result}')
# запись информации в лог-файл
file.write(f'Результат: {num_1}{oper}{num_2} = {result}\n')
# запрос пользователю на продолжение работы
is_continue = input('Продолжить работу с калькулятором? (Y/N):')
# если пользователь не хочет работать с калькулятором
if is_continue == 'N':

. . .

Слайд 96

4

except SyntaxError: # обработка некорректного ввода операции
# повторный ввод операции
oper =

input('Введите корретную операцию (+ - * / ** // %):')
file.write(f'Ввод некорректной операций\n') # запись информации в лог-файл
file.write(f'Введена новая операция: {oper}\n')
finally: # финальное вычисление результата и запрос новых данных от пользователя
result = eval(f'{num_1}{oper}{num_2}') # вычисление результатa
print(f'Результат операции: {num_1}{oper}{num_2} = {result}')
# запись информации в лог-файл
file.write(f'Результат: {num_1}{oper}{num_2} = {result}\n')
# запрос пользователю на продолжение работы
is_continue = input('Продолжить работу с калькулятором? (Y/N):')
# если пользователь не хочет работать с калькулятором
if is_continue == 'N':
print('До свидания!')

. . .

Слайд 97

4

except SyntaxError: # обработка некорректного ввода операции
# повторный ввод операции
oper =

input('Введите корретную операцию (+ - * / ** // %):')
file.write(f'Ввод некорректной операций\n') # запись информации в лог-файл
file.write(f'Введена новая операция: {oper}\n')
finally: # финальное вычисление результата и запрос новых данных от пользователя
result = eval(f'{num_1}{oper}{num_2}') # вычисление результатa
print(f'Результат операции: {num_1}{oper}{num_2} = {result}')
# запись информации в лог-файл
file.write(f'Результат: {num_1}{oper}{num_2} = {result}\n')
# запрос пользователю на продолжение работы
is_continue = input('Продолжить работу с калькулятором? (Y/N):')
# если пользователь не хочет работать с калькулятором
if is_continue == 'N':
print('До свидания!')
# закрываем файл и выходим из цикла
file.close()

. . .

Слайд 98

4

except SyntaxError: # обработка некорректного ввода операции
# повторный ввод операции
oper =

input('Введите корретную операцию (+ - * / ** // %):')
file.write(f'Ввод некорректной операций\n') # запись информации в лог-файл
file.write(f'Введена новая операция: {oper}\n')
finally: # финальное вычисление результата и запрос новых данных от пользователя
result = eval(f'{num_1}{oper}{num_2}') # вычисление результатa
print(f'Результат операции: {num_1}{oper}{num_2} = {result}')
# запись информации в лог-файл
file.write(f'Результат: {num_1}{oper}{num_2} = {result}\n')
# запрос пользователю на продолжение работы
is_continue = input('Продолжить работу с калькулятором? (Y/N):')
# если пользователь не хочет работать с калькулятором
if is_continue == 'N':
print('До свидания!')
# закрываем файл и выходим из цикла
file.close()
break

. . .

Слайд 99

4

except SyntaxError: # обработка некорректного ввода операции
# повторный ввод операции
oper =

input('Введите корретную операцию (+ - * / ** // %):')
file.write(f'Ввод некорректной операций\n') # запись информации в лог-файл
file.write(f'Введена новая операция: {oper}\n')
finally: # финальное вычисление результата и запрос новых данных от пользователя
result = eval(f'{num_1}{oper}{num_2}') # вычисление результатa
print(f'Результат операции: {num_1}{oper}{num_2} = {result}')
# запись информации в лог-файл
file.write(f'Результат: {num_1}{oper}{num_2} = {result}\n')
# запрос пользователю на продолжение работы
is_continue = input('Продолжить работу с калькулятором? (Y/N):')
# если пользователь не хочет работать с калькулятором
if is_continue == 'N':
print('До свидания!')
# закрываем файл и выходим из цикла
file.write('-------------------------------------\n')
file.close()
break
print('----------------------------')

. . .

Слайд 100

finally – блок кода, который выполняется в любом случае

try-finally

Возможные конфигурации блоков:

try-except

try-except-else

try-except-else-finally

try-except-finally

try – блок

кода, где могут возникнуть ошибки

except – блок кода, который выполняется при возникновении ошибки. Без указания конкретной ошибки способен отлавливать все возникающие ошибки и исключения.

else – блок кода, который выполняется при отсутствии ошибок

Имя файла: Программирование-Python.-Обработка-ошибок-и-исключений.pptx
Количество просмотров: 7
Количество скачиваний: 0