добавлено ДЗ "обработка ошибок и исключений"
This commit is contained in:
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user