Similar presentations:
Программирование Python. Обработка ошибок и исключений
1.
DSПрограммирование
Python
Обработка ошибок и исключений
2.
ВведениеТема
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
3.
ВведениеТема
Что произойдет, если мы попытаемся целое число разделить на 0?
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
4.
ВведениеТема
Что произойдет, если мы попытаемся целое число разделить на 0?
Увидим ошибку о делении на ноль - ZeroDivisionError
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
5.
ВведениеТема
Что произойдет, если мы попытаемся целое число разделить на 0?
Увидим ошибку о делении на ноль - ZeroDivisionError
Какую ошибку увидим на экране, если попытаемся обратиться к
элементу списка по индексу, которого не существует?
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
6.
ВведениеТема
Что произойдет, если мы попытаемся целое число разделить на 0?
Увидим ошибку о делении на ноль - ZeroDivisionError
Какую ошибку увидим на экране, если попытаемся обратиться к
элементу списка по индексу, которого не существует?
Увидим ошибку IndexError
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
7.
ВведениеТема
Что произойдет, если мы попытаемся целое число разделить на 0?
Увидим ошибку о делении на ноль - ZeroDivisionError
Какую ошибку увидим на экране, если попытаемся обратиться к
элементу списка по индексу, которого не существует?
Увидим ошибку IndexError
Функция int() может преобразовать любой объект в целое число?
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
8.
ВведениеТема
Что произойдет, если мы попытаемся целое число разделить на 0?
Увидим ошибку о делении на ноль - ZeroDivisionError
Какую ошибку увидим на экране, если попытаемся обратиться к
элементу списка по индексу, которого не существует?
Увидим ошибку IndexError
Функция int() может преобразовать любой объект в целое число?
Нет, только число и строку, состоящую из цифр
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
9.
ВведениеТема
Что произойдет, если мы попытаемся целое число разделить на 0?
Увидим ошибку о делении на ноль - ZeroDivisionError
Какую ошибку увидим на экране, если попытаемся обратиться к
элементу списка по индексу, которого не существует?
Увидим ошибку IndexError
Функция int() может преобразовать любой объект в целое число?
Нет, только число и строку, состоящую из цифр
Можно ли использовать условный оператор if без оператора else?
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
10.
ВведениеТема
Что произойдет, если мы попытаемся целое число разделить на 0?
Увидим ошибку о делении на ноль - ZeroDivisionError
Какую ошибку увидим на экране, если попытаемся обратиться к
элементу списка по индексу, которого не существует?
Увидим ошибку IndexError
Функция int() может преобразовать любой объект в целое число?
Нет, только число и строку, состоящую из цифр
Можно ли использовать условный оператор if без оператора else?
Да, можно
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
11.
ВведениеТема
Что произойдет, если мы попытаемся целое число разделить на 0?
Увидим ошибку о делении на ноль - ZeroDivisionError
Какую ошибку увидим на экране, если попытаемся обратиться к
элементу списка по индексу, которого не существует?
Увидим ошибку IndexError
Функция int() может преобразовать любой объект в целое число?
Нет, только число и строку, состоящую из цифр
Можно ли использовать условный оператор if без оператора else?
Да, можно
Можно ли использовать условный оператор elif без оператора if?
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
12.
ВведениеТема
Что произойдет, если мы попытаемся целое число разделить на 0?
Увидим ошибку о делении на ноль - ZeroDivisionError
Какую ошибку увидим на экране, если попытаемся обратиться к
элементу списка по индексу, которого не существует?
Увидим ошибку IndexError
Функция int() может преобразовать любой объект в целое число?
Нет, только число и строку, состоящую из цифр
Можно ли использовать условный оператор if без оператора else?
Да, можно
Можно ли использовать условный оператор elif без оператора if?
Нет, нельзя
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
13.
ТеорияОшибки и исключения
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
14.
ТеорияОшибки и исключения
Синтаксическая ошибка – появляется, если написанный код не
соответствует правилам языка (например, не стоит отступ там,
где это нужно)
Исключение – появляется во время работы программы (например,
обращение к элементу списка по несуществующему индексу)
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
15.
ТеорияОшибки и исключения
SyntaxError – синтаксическая ошибка в коде.
Например, data = [1, 2, 3 – появится ошибка из-за незакрытой
квадратной скобки
IndentationError – ошибка, возникающая из-за проблем с отступами.
Например,
if 2 + 2 > 3:
print('Здесь была математика')
В таком коде появится ошибка из-за того, что код внутри тела оператора if
должен выделяться отступом.
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
16.
Задание №1
«Деление на ноль»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна вывести на
экран частное от деления первого числа на второе. Если второе число равно нулю – вывести на
экран фразу «Делить на ноль нельзя!».
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
17.
Задание №1
«Деление на ноль»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна вывести на
экран частное от деления первого числа на второе. Если второе число равно нулю – вывести на
экран фразу «Делить на ноль нельзя!».
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
18.
Задание №1
«Деление на ноль»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна вывести на
экран частное от деления первого числа на второе. Если второе число равно нулю – вывести на
экран фразу «Делить на ноль нельзя!».
num_1 = int(input())
num_2 = int(input())
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
19.
Задание №1
«Деление на ноль»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна вывести на
экран частное от деления первого числа на второе. Если второе число равно нулю – вывести на
экран фразу «Делить на ноль нельзя!».
num_1 = int(input())
num_2 = int(input())
if num_2 == 0:
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
20.
Задание №1
«Деление на ноль»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна вывести на
экран частное от деления первого числа на второе. Если второе число равно нулю – вывести на
экран фразу «Делить на ноль нельзя!».
num_1 = int(input())
num_2 = int(input())
if num_2 == 0:
print('Делить на ноль нельзя!')
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
21.
Задание №1
«Деление на ноль»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна вывести на
экран частное от деления первого числа на второе. Если второе число равно нулю – вывести на
экран фразу «Делить на ноль нельзя!».
num_1 = int(input())
num_2 = int(input())
if num_2 == 0:
print('Делить на ноль нельзя!')
else:
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
22.
Задание №1
«Деление на ноль»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна вывести на
экран частное от деления первого числа на второе. Если второе число равно нулю – вывести на
экран фразу «Делить на ноль нельзя!».
num_1 = int(input())
num_2 = int(input())
if num_2 == 0:
print('Делить на ноль нельзя!')
else:
print(num_1 / num_2)
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
23.
Задание №1
«Деление на ноль»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна вывести на
экран частное от деления первого числа на второе. Если второе число равно нулю – вывести на
экран фразу «Делить на ноль нельзя!».
num_1 = int(input())
num_2 = int(input())
if num_2 == 0:
print('Делить на ноль нельзя!')
else:
print(num_1 / num_2)
Если бы не было проверки на равенство нулю
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
24.
Задание №1
«Деление на ноль»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна вывести на
экран частное от деления первого числа на второе. Если второе число равно нулю – вывести на
экран фразу «Делить на ноль нельзя!».
num_1 = int(input())
num_2 = int(input())
if num_2 == 0:
print('Делить на ноль нельзя!')
else:
print(num_1 / num_2)
>>> ZeroDivisionError
Если бы не было проверки на равенство нулю
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
25.
ТеорияКонструкция try-except
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
26.
Задание №1
«Деление на ноль»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна вывести на
экран частное от деления первого числа на второе. Если второе число равно нулю – вывести на
экран фразу «Делить на ноль нельзя!».
num_1 = int(input())
num_2 = int(input())
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
27.
Задание №1
«Деление на ноль»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна вывести на
экран частное от деления первого числа на второе. Если второе число равно нулю – вывести на
экран фразу «Делить на ноль нельзя!».
num_1 = int(input())
num_2 = int(input())
try: # код, где потенциально может возникнуть ошибка
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
28.
Задание №1
«Деление на ноль»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна вывести на
экран частное от деления первого числа на второе. Если второе число равно нулю – вывести на
экран фразу «Делить на ноль нельзя!».
num_1 = int(input())
num_2 = int(input())
try: # код, где потенциально может возникнуть ошибка
print(num_1 / num_2)
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
29.
Задание №1
«Деление на ноль»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна вывести на
экран частное от деления первого числа на второе. Если второе число равно нулю – вывести на
экран фразу «Делить на ноль нельзя!».
num_1 = int(input())
num_2 = int(input())
try: # код, где потенциально может возникнуть ошибка
print(num_1 / num_2)
except: # обработка ошибки деления на ноль
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
30.
Задание №1
«Деление на ноль»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна вывести на
экран частное от деления первого числа на второе. Если второе число равно нулю – вывести на
экран фразу «Делить на ноль нельзя!».
num_1 = int(input())
num_2 = int(input())
try: # код, где потенциально может возникнуть ошибка
print(num_1 / num_2)
except: # обработка ошибки деления на ноль
print('Возникла ошибка')
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
31.
Задание №1
«Деление на ноль»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна вывести на
экран частное от деления первого числа на второе. Если второе число равно нулю – вывести на
экран фразу «Делить на ноль нельзя!».
try: # код, где потенциально может возникнуть ошибка
num_1 = int(input())
num_2 = int(input())
print(num_1 / num_2)
except: # обработка ошибки деления на ноль
print('Возникла ошибка')
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
32.
Задание №1
«Деление на ноль»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна вывести на
экран частное от деления первого числа на второе. Если второе число равно нулю – вывести на
экран фразу «Делить на ноль нельзя!».
try: # код, где потенциально может возникнуть ошибка
num_1 = int(input())
num_2 = int(input())
print(num_1 / num_2)
# обработка ошибки деления на ноль
except ZeroDivisionError:
print('На ноль делить нельзя!')
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
33.
Задание №1
«Деление на ноль»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна вывести на
экран частное от деления первого числа на второе. Если второе число равно нулю – вывести на
экран фразу «Делить на ноль нельзя!».
try: # код, где потенциально может возникнуть ошибка
num_1 = int(input())
num_2 = int(input())
print(num_1 / num_2)
# обработка ошибки деления на ноль
except ZeroDivisionError:
print('На ноль делить нельзя!')
# обработка некорректного ввода
except ValueError:
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
34.
Задание №1
«Деление на ноль»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна вывести на
экран частное от деления первого числа на второе. Если второе число равно нулю – вывести на
экран фразу «Делить на ноль нельзя!».
try: # код, где потенциально может возникнуть ошибка
num_1 = int(input())
num_2 = int(input())
print(num_1 / num_2)
# обработка ошибки деления на ноль
except ZeroDivisionError:
print('На ноль делить нельзя!')
# обработка некорректного ввода
except ValueError:
print('Введено некорректное значение!')
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
35.
ТеорияКонструкция try-except
try – блок кода, где могут возникнуть ошибки
except – блок кода, который выполняется при возникновении ошибки. Без
указания конкретной ошибки способен отлавливать все возникающие
ошибки и исключения.
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
36.
ТеорияКонструкция try-except-else
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
37.
Задание №1
«Деление на ноль»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна вывести на
экран частное от деления первого числа на второе. Если второе число равно нулю – вывести на
экран фразу «Делить на ноль нельзя!».
try: # код, где потенциально может возникнуть ошибка
num_1 = int(input())
num_2 = int(input())
print(num_1 / num_2)
# обработка ошибки деления на ноль
except ZeroDivisionError:
print('На ноль делить нельзя!')
except ValueError: # обработка некорректного ввода
print('Введено некорректное значение!')
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
38.
Задание №1
«Деление на ноль»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна вывести на
экран частное от деления первого числа на второе. Если второе число равно нулю – вывести на
экран фразу «Делить на ноль нельзя!».
try: # код, где потенциально может возникнуть ошибка
num_1 = int(input())
num_2 = int(input())
result = num_1 / num_2
# обработка ошибки деления на ноль
except ZeroDivisionError:
print('На ноль делить нельзя!')
except ValueError: # обработка некорректного ввода
print('Введено некорректное значение!')
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
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}')
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
40.
ТеорияКонструкция try-except-else
try – блок кода, где могут возникнуть ошибки
except – блок кода, который выполняется при возникновении ошибки. Без
указания конкретной ошибки способен отлавливать все возникающие
ошибки и исключения.
else – блок кода, который выполняется при отсутствии ошибок
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
41.
Задание №2
«Второй шанс»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна вывести на
экран остаток от деления первого числа на второе. Если происходит деление на ноль – вывести на
экран фразу «Делить на ноль нельзя, введите новое число:» и запросить новое число для ввода.
Если пользователь вводит некорректные значения для чисел – вывести на экран фразу «Введены
некорректные значения» и попросить пользователя указать оба числа заново.
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
42.
Задание №2
«Второй шанс»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна вывести на
экран остаток от деления первого числа на второе. Если происходит деление на ноль – вывести на
экран фразу «Делить на ноль нельзя, введите новое число:» и запросить новое число для ввода.
Если пользователь вводит некорректные значения для чисел – вывести на экран фразу «Введены
некорректные значения» и попросить пользователя указать оба числа заново.
try: # код с вычислением остатка от деления
num_1 = int(input('Введите первое число:'))
num_2 = int(input('Введите второе число:'))
result = num_1 % num_2
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
43.
Задание №2
«Второй шанс»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна вывести на
экран остаток от деления первого числа на второе. Если происходит деление на ноль – вывести на
экран фразу «Делить на ноль нельзя, введите новое число:» и запросить новое число для ввода.
Если пользователь вводит некорректные значения для чисел – вывести на экран фразу «Введены
некорректные значения» и попросить пользователя указать оба числа заново.
try: # код с вычислением остатка от деления
num_1 = int(input('Введите первое число:'))
num_2 = int(input('Введите второе число:'))
result = num_1 % num_2
except ZeroDivisionError: # обработка ошибки деления на ноль
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
44.
Задание №2
«Второй шанс»
На вход программе с клавиатуры подаются 2 натуральных числа. Программа должна вывести на
экран остаток от деления первого числа на второе. Если происходит деление на ноль – вывести на
экран фразу «Делить на ноль нельзя, введите новое число:» и запросить новое число для ввода.
Если пользователь вводит некорректные значения для чисел – вывести на экран фразу «Введены
некорректные значения» и попросить пользователя указать оба числа заново.
try: # код с вычислением остатка от деления
num_1 = int(input('Введите первое число:'))
num_2 = int(input('Введите второе число:'))
result = num_1 % num_2
except ZeroDivisionError: # обработка ошибки деления на ноль
# повторно вводим второе число
num_2 = int(input('Делить на ноль нельзя, введите новое число:'))
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
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: # обработка некорректного ввода
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
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('Введены некорректные значения!')
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
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('Введите второе число:'))
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
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}')
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
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}')
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
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}')
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
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}')
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
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}')
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
53.
ТеорияКонструкция try-except-else-finally
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
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}')
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
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('Работа программы закончена!')
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
56.
ТеорияКонструкция try-except-else-finally
try – блок кода, где могут возникнуть ошибки
except – блок кода, который выполняется при возникновении ошибки. Без
указания конкретной ошибки способен отлавливать все возникающие
ошибки и исключения.
else – блок кода, который выполняется при отсутствии ошибок
finally – блок кода, который выполняется в любом случае
Возможные конфигурации блоков:
try-except
try-except-else
try-except-else-finally
try-except-finally
try-finally
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
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}')
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
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:
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
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
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
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}')
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
61.
ТеорияКонструкция try-except-else-finally
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
62.
ТеорияКонструкция try-except-else-finally
Лог – специальный текстовый файл, в котором хранится
информация о действиях пользователя или программы.
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
63.
Задание №4
«Лог калькулятора»
На вход программе с клавиатуры вводится имя пользователя, после чего пользователь вводит одно
число, затем операцию, после вводит второе число. Программа работает с указанными числами и
операцией. Если возникают исключения – программа выводит информацию об этом на экран и
просит пользователя указать новые данные для работы. После ввода корректных данных
программа выводит результат вычислений на экран и спрашивает пользователя, хочет ли он
продолжать работать с калькулятором. В случае положительного ответа, пользователь продолжает
работать с калькулятором в прежней логике.
Программа также должна сохранять в текстовый файл log_calc.txt следующую информацию:
имя текущего пользователя
введенные пользователем данные
результаты вычислений
информацию об ошибках
новые данные от пользователя, если возникла ошибка
С каждым новым сеансом программа должна добавлять новую информацию в конец текстового
файла.
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
64.
Задание №4
name = input('Укажите свое имя:') # ввод имени пользователя
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
65.
Задание №4
name = input('Укажите свое имя:') # ввод имени пользователя
# открываем файл в режиме добавления
file = open('log_calc.txt', 'a', encoding='utf-8')
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
66.
Задание №4
name = input('Укажите свое имя:') # ввод имени пользователя
# открываем файл в режиме добавления
file = open('log_calc.txt', 'a', encoding='utf-8')
file.write(f'Пользователь: {name}\n')# запись в лог-файл введенного имени пользователя
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
67.
Задание №4
name = input('Укажите свое имя:') # ввод имени пользователя
# открываем файл в режиме добавления
file = open('log_calc.txt', 'a', encoding='utf-8')
file.write(f'Пользователь: {name}\n')# запись в лог-файл введенного имени пользователя
while True: # цикл работы с калькулятором
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
68.
Задание №4
name = input('Укажите свое имя:') # ввод имени пользователя
# открываем файл в режиме добавления
file = open('log_calc.txt', 'a', encoding='utf-8')
file.write(f'Пользователь: {name}\n')# запись в лог-файл введенного имени пользователя
while True: # цикл работы с калькулятором
try: # ввод данных пользователем и вычисление результата
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
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('Введите первое число:')) # ввод чисел и знака операции
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
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('Введите операцию (+ - * / ** // %):')
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
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('Введите второе число:'))
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
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')
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
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’)
---------------------------------------------------------------------------
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
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'))
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
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
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
76.
ТеорияКонструкция try-except-else-finally
eval() – функция, принимающая выражение в виде строки и
выполняющая его.
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
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} ') # вычисление результата
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
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: # обработка ошибки деления на ноль
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
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('Делить на ноль нельзя, введите новое число:'))
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
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') # запись информации в лог-файл
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
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')
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
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: # обработка некорректного ввода чисел
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
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('Введены некорректные значения!')
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
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('Введите второе число:')) # повторный ввод второго числа
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
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')
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
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')
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
87.
Задание №4
. . .
except SyntaxError: # обработка некорректного ввода операции
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
88.
Задание №4
. . .
except SyntaxError: # обработка некорректного ввода операции
# повторный ввод операции
oper = input('Введите корретную операцию (+ - * / ** // %):')
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
89.
Задание №4
. . .
except SyntaxError: # обработка некорректного ввода операции
# повторный ввод операции
oper = input('Введите корретную операцию (+ - * / ** // %):')
file.write(f'Ввод некорректной операций\n') # запись информации в лог-файл
file.write(f'Введена новая операция: {oper}\n')
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
90.
Задание №4
. . .
except SyntaxError: # обработка некорректного ввода операции
# повторный ввод операции
oper = input('Введите корретную операцию (+ - * / ** // %):')
file.write(f'Ввод некорректной операций\n') # запись информации в лог-файл
file.write(f'Введена новая операция: {oper}\n')
finally: # финальное вычисление результата и запрос новых данных от пользователя
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
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
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
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}')
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
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')
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
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):')
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
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':
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
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('До свидания!')
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
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()
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
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
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
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('----------------------------')
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
100.
ИТОГtry – блок кода, где могут возникнуть ошибки
except – блок кода, который выполняется при возникновении ошибки. Без
указания конкретной ошибки способен отлавливать все возникающие
ошибки и исключения.
else – блок кода, который выполняется при отсутствии ошибок
finally – блок кода, который выполняется в любом случае
Возможные конфигурации блоков:
try-except
try-except-else
try-except-else-finally
try-except-finally
try-finally
©2023 ООО «Юмакс». Все права защищены. Любое использование материалов допускается только с письменного согласия компании
101.
DSПрограммирование
Python
Спасибо за внимание!