добавлено ДЗ "обработка ошибок и исключений"

This commit is contained in:
Dmitry Medvedev
2026-10-09 02:02:13 +05:00
parent f7f6de1eca
commit 4354371ac0
@@ -0,0 +1,231 @@
{
"cells": [
{
"cell_type": "markdown",
"id": "9b88d6f7",
"metadata": {},
"source": [
"Задача 1. Безопасное преобразование числа\n",
"Пользователь вводит число с клавиатуры.\n",
"Нужно:\n",
" попытаться преобразовать ввод в int;\n",
" если получилось — вывести:\n",
" само число;\n",
" его квадрат;\n",
" его удвоенное значение;\n",
" если не получилось — вывести сообщение об ошибке."
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "66c30856",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"44\n",
"1936\n",
"88\n"
]
}
],
"source": [
"a = input(\"vvedite 4islo s klaviaturi\")\n",
"try:\n",
" a = int(a)\n",
" print(a)\n",
" print(a ** 2)\n",
" print(a * 2)\n",
"except:\n",
" print(\"error\")"
]
},
{
"cell_type": "markdown",
"id": "7be390bd",
"metadata": {},
"source": [
"Задача 2. Деление чисел с разными ошибками\n",
"Напиши программу, которая:\n",
" просит пользователя ввести два числа;\n",
" первое число — делимое;\n",
" второе число — делитель;\n",
"пытается:\n",
" преобразовать оба значения в float;\n",
" выполнить деление;\n",
"обрабатывает ошибки:\n",
" если введено не число;\n",
" если попытались делить на ноль.\n",
"Если всё прошло успешно, вывести результат деления."
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "259db03e",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2.0\n"
]
}
],
"source": [
"a = input(\"vvedite pervoe 4islo - delimoe\")\n",
"b = input(\"vvedite vtoroe 4islo - delitel\")\n",
"try:\n",
" a = float(a)\n",
" b = float(b)\n",
" print(a / b)\n",
"except ValueError:\n",
" print(\"nevernii type of data\")\n",
"except ZeroDivisionError:\n",
" print(\"delenie na 0\")\n"
]
},
{
"cell_type": "markdown",
"id": "654327c9",
"metadata": {},
"source": [
"Задача 3. Обработка списка строк с числами\n",
"Дан список строк:\n",
"values= [\"10\",\"20\",\"abc\",\"40\",\"\",\"15\"]\n",
"\n",
"Нужно пройти по списку и для каждого элемента:\n",
" попытаться преобразовать его в число;\n",
" если получилось — вывести:\n",
" исходное значение;\n",
" число;\n",
" квадрат числа;\n",
" если не получилось — вывести сообщение, что элемент не удалось преобразовать.\n",
"В конце дополнительно вывести:\n",
" сколько элементов успешно обработано;\n",
" сколько элементов вызвали ошибку."
]
},
{
"cell_type": "code",
"execution_count": 63,
"id": "15ba90bc",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"common text - 10\n",
"number - 10\n",
"sqr number - 100\n",
"common text - 20\n",
"number - 20\n",
"sqr number - 400\n",
"ne ydalos preobrazovat abc\n",
"common text - 40\n",
"number - 40\n",
"sqr number - 1600\n",
"ne ydalos preobrazovat \n",
"common text - 15\n",
"number - 15\n",
"sqr number - 225\n",
"uspeshno obrabotano 4\n",
"oshibok sdelano 2\n"
]
}
],
"source": [
"values = [\"10\",\"20\",\"abc\",\"40\",\"\",\"15\"]\n",
"success = 0\n",
"errors = 0\n",
"for i in values:\n",
" try:\n",
" a = int(i)\n",
" print(f\"common text - {i}\")\n",
" print(f\"number - {a}\")\n",
" print(f\"sqr number - {a**2}\")\n",
" success += 1\n",
" except ValueError:\n",
" print(f\"ne ydalos preobrazovat {i}\")\n",
" errors += 1\n",
"print(f\"uspeshno obrabotano {success}\")\n",
"print(f\"oshibok sdelano {errors}\")"
]
},
{
"cell_type": "markdown",
"id": "51101218",
"metadata": {},
"source": [
"Задача 4. Использование else и finally\n",
"Попроси пользователя ввести целое число.\n",
"Программа должна:\n",
" в блоке try попытаться преобразовать ввод в int;\n",
" в except обработать ошибку ввода;\n",
" в else вывести:\n",
" число;\n",
" его куб;\n",
" сообщение, что операция выполнена успешно;\n",
"в finally вывести:\n",
" \"Программа завершила попытку обработки\"."
]
},
{
"cell_type": "code",
"execution_count": 64,
"id": "f2a891bd",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"3\n",
"27\n",
"операция выполнена успешно\n",
"программа завершила попытку обработки\n"
]
}
],
"source": [
"a = input(\"введите целое число\")\n",
"try:\n",
" a = int(a)\n",
"except ValueError:\n",
" print(\"ошибка ввода\")\n",
"else:\n",
" print(a)\n",
" print(a**3)\n",
" print(\"операция выполнена успешно\")\n",
"finally:\n",
" print(\"программа завершила попытку обработки\")"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.13.7"
}
},
"nbformat": 4,
"nbformat_minor": 5
}