Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
338 changes: 338 additions & 0 deletions HW1.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,338 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Домашнее задание 1 Хворостьяновой Анны"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Задание 1\n",
"Даны 2 переменных, в которых хранятся строки произвольной длины: phrase_1 и phrase_2.\n",
"Напишите код, который проверяет какая из этих строк длиннее."
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Введите первую фразу для сравнения\n",
"апорывлаырвалыровла\n",
"Введите вторую фразу для сравнения\n",
"а\n",
"Фраза 1 длиннее фразы 2\n"
]
}
],
"source": [
"import unittest\n",
"\n",
"def string_len_comp(phrase_1, phrase_2):\n",
" len_1 = len(phrase_1)\n",
" len_2 = len(phrase_2)\n",
" if len_1>len_2:\n",
" bigger = 1\n",
" smaller = 2\n",
" elif len_1<len_2:\n",
" bigger = 2\n",
" smaller = 1\n",
" else:\n",
" print(\"Фразы равной длины\")\n",
" print('Фраза {0} длиннее фразы {1}'.format(bigger, smaller))\n",
"\n",
"class MyTest(unittest.TestCase):\n",
" def test(self):\n",
" self.assertEqual(string_len_comp(\"abc\", \"a\"), \"Фраза 1 длиннее фразы 2\")\n",
" self.assertEqual(string_len_comp(\"abc\", \"abcd\"), \"Фраза 2 длиннее фразы 1\")\n",
" self.assertEqual(string_len_comp(\"abc\", \"abc\"), \"Фразы равной длины\")\n",
"\n",
" \n",
"phrase_1 = input(\"Введите первую фразу для сравнения\\n\")\n",
"phrase_2 = input(\"Введите вторую фразу для сравнения\\n\")\n",
"string_len_comp(phrase_1, phrase_2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Задание 2\n",
"Дана переменная, в которой хранится четырехзначное число (год). Необходимо написать программу, которая выведет, является ли данный год високосным или обычным."
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Введите год\n",
"вапвап\n",
"Введенное значение не является числом\n"
]
}
],
"source": [
"try:\n",
" year = int(input(\"Введите год\\n\"))\n",
" if year%4==0 and year%100!=0 or year%400==0:\n",
" print(\"Високосный год\")\n",
" else:\n",
" print(\"Обычный год\")\n",
"except ValueError:\n",
" print(\"Введенное значение не является числом\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Задание 3\n",
"Необходимо написать программу, которая будет запрашивать у пользователя месяц и дату рождения и выводить соответствующий знак зодиака."
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Введите день: \n",
"22\n",
"Введите месяц: \n",
"06\n",
"622\n",
"Рак\n"
]
}
],
"source": [
"zodiacs = [(120, 'Козерог'), (218, 'Водолей'), (320, 'Рыбы'), (420, 'Овен'), (521, 'Телец'),\n",
" (621, 'Близнецы'), (722, 'Рак'), (823, 'Лев'), (923, 'Дева'), (1023, 'Весы'),\n",
" (1122, 'Скорпион'), (1222, 'Стрелец'), (1231, 'Козерог')]\n",
"day = int(input(\"Введите день: \\n\"))\n",
"month = int(input(\"Введите месяц: \\n\"))\n",
"date_number=int(str(month)+str(day))\n",
"for i in zodiacs:\n",
" if date_number <= i[0]:\n",
" zod = i[1]\n",
" break;\n",
"print(zod) "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Задание 4\n",
"Вам нужно написать программу для подбора упаковок по размерам товара. Размеры хранятся в переменных (в сантиметрах):\n",
"\n",
"width = 10\n",
"length = 205\n",
"height = 5\n",
"Используйте следующие правила:\n",
"\n",
"если каждое из трех измерений менее 15 сантиметров, то выведите на экран “Коробка №1”;\n",
"если хотя бы одно из измерений больше 15 сантиметров, но менее 50 сантиметров, то выводите “Коробка №2”;\n",
"если длина товара больше 2 метров, то выводите “Упаковка для лыж”;\n",
"во всех остальных случаях выводите “Стандартная коробка №3”."
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Введите ширину в сантиметрах\n",
"16\n",
"Введите длину в сантиметрах\n",
"5\n",
"Введите высоту в сантиметрах\n",
"3\n",
"Коробка №2\n"
]
}
],
"source": [
"import unittest\n",
"\n",
"def box_size(width, length, height):\n",
" if (width<15.0 and length<15.0 and height<15.0):\n",
" return(\"Коробка №1\")\n",
" elif (length > 200.0):\n",
" return(\"Упаковка для лыж\")\n",
" elif (15.0<width<50.0 or 15.0<length<50.0 or 15.0<height<50.0):\n",
" return(\"Коробка №2\")\n",
" else:\n",
" return(\"Стандартная коробка №3\")\n",
" \n",
"width = float(input(\"Введите ширину в сантиметрах\\n\"))\n",
"length = float(input(\"Введите длину в сантиметрах\\n\"))\n",
"height = float(input(\"Введите высоту в сантиметрах\\n\"))\n",
"print(box_size(width, length, height))\n",
"\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Задание 5 (необязательное)\n",
"Дана переменная, в которой хранится шестизначное число (номер проездного билета). Напишите программу, которая будет определять, является ли данный билет “счастливым”. Билет считается счастливым, если сумма первых трех цифр совпадает с суммой последних трех цифр номера.\n",
"\n",
"Примеры работы программы:\n",
"\n",
"number = 123456\n",
"Результат:\n",
"Неасчастливый билет\n",
"\n",
"number = 123321\n",
"Результат:\n",
"Счастливый билет"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"600222\n",
"6\n",
"6\n",
"Счастливый билет\n"
]
}
],
"source": [
"def sum_of_the_digits(number, length):\n",
" s = 0\n",
" for i in range(length):\n",
" s += number%10\n",
" number = number//10 \n",
" return s\n",
"\n",
"number = input(\"Введите номер билета\")\n",
"first_part = sum_of_the_digits(int(number[0:3]), len(number))\n",
"last_part = sum_of_the_digits(int(number[3:]), len(number))\n",
"if (first_part==last_part):\n",
" print(\"Счастливый билет\")\n",
"else:\n",
" print(\"Несчастливый билет\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Задание 6 (необязательное)\n",
"Напишите программу, которая сможет вычислять площади трех фигур (круг, треугольник и прямоугольник). Тип фигуры запрашиваем через пользовательский ввод, после чего делаем запрос характеристик фигуры:\n",
"\n",
"если пользователь выбрал круг, запрашиваем его радиус,\n",
"если треугольник – длины трех его сторон;\n",
"если прямоугольник – длины двух его сторон."
]
},
{
"cell_type": "code",
"execution_count": 63,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Введите название фигуры: \n",
"круг\n",
"Введите радиус:\n",
"6\n",
"Результат: \n",
"Площадь круга: 113.09733552923255\n"
]
}
],
"source": [
"import math\n",
"\n",
"def circle():\n",
" r = float(input(\"Введите радиус:\\n\"))\n",
" return math.pi*pow(r, 2)\n",
"\n",
"def triangle():\n",
" a = float(input(\"Введите длину первой стороны:\\n\"))\n",
" b = float(input(\"Введите длину второй стороны:\\n\"))\n",
" c = float(input(\"Введите длину третьей стороны:\\n\"))\n",
" p = (a+b+c)/2\n",
" return math.sqrt(p*(p-a)*(p-b)*(p-c))\n",
"\n",
"def rectangle():\n",
" a = float(input(\"Введите длину первой стороны:\\n\"))\n",
" b = float(input(\"Введите длину второй стороны:\\n\"))\n",
" return a*b\n",
"\n",
"\n",
"shape = input(\"Введите название фигуры: \\n\").lower()\n",
"shapes_dict = {\n",
" 'круг': circle,\n",
" 'треугольник': triangle,\n",
" 'прямоугольник': rectangle\n",
"}\n",
"try:\n",
" print(\"Результат: \\nПлощадь \" + shape + \"а: \" + str(shapes_dict[shape]()))\n",
"except: \n",
" print(\"Такая фигура системе неизвестна\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"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.8.5"
}
},
"nbformat": 4,
"nbformat_minor": 4
}