Cognitive_technologies/лр1-2/.ipynb_checkpoints/3_solutions1-checkpoint.ipynb

601 lines
15 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"## Семинар 1\n",
"\n",
"*Примечание: под программой в заданиях подразумевается просто блок работающего кода, который выполняет нужную задачу.* "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Задание 0 (вычислительное)\n",
"\n",
"Посчитайте:\n",
"\n",
"* $log(25)$, $log(exp(3))$, $log_{10}1000$\n",
"* $\\pi^3$, $123^4$ \n",
"* $\\sqrt{459}$"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import math"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"3.2188758248682006"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"math.log(25)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"3.0"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"math.log(math.exp(3))"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"3.0"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"math.log10(1000)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"31.006276680299816"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"math.pi ** 3"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"228886641"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"123 ** 4"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"21.42428528562855"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"math.sqrt(459)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Задание 1 (стартовое)\n",
"\n",
"В переменных `a` и `b` хранятся некоторые числа. Напишите код, который бы менял значения переменных местами. Создавать новые переменные можно. \n",
"\n",
"**Пример:**"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"# до\n",
"a = 2\n",
"b = 5"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"5\n",
"2\n"
]
}
],
"source": [
"# после\n",
"print(a)\n",
"print(b)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"5\n",
"2\n"
]
}
],
"source": [
"c = a\n",
"a = b\n",
"b = c\n",
"\n",
"print(a)\n",
"print(b)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Задание 2 (арифметическое)\n",
"\n",
"В переменных `a`, `b`, `c` хранятся какие-то числа. Напишите программу, которая считает их среднее арифметическое."
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"40.0"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"a = 45\n",
"b = 55\n",
"c = 20\n",
"\n",
"mean_abc = (a + b + c) / 3\n",
"mean_abc"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Задание 3 (экономическое)\n",
"\n",
"Напишите программу, которая логарифмирует значение ВВП, которое хранится в переменной `gdp` и округляет результат до второго знака после запятой."
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"17.03\n"
]
}
],
"source": [
"gdp = 25010698\n",
"\n",
"res = round(math.log(gdp), 2)\n",
"print(res)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Задание 4 (финансовое)\n",
"\n",
"В переменной `salary` хранится значение заработной платы респондента в рублях (можете сами присвоить `salary` какое-нибудь значение).\n",
"\n",
"Напишите программу, которая выражает заработную плату респондента в тысячах рублей и\n",
"\n",
"a) просто выводит результат перевода в тысячи на экран;\n",
"\n",
"б) просто сохраняет результат в переменную `salary_th`;\n",
"\n",
"в) сохраняет результат в переменную `salary_th` и выводит результат на экран."
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
"salary = 35000"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"35.0\n"
]
}
],
"source": [
"# a\n",
"print(salary / 1000)"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [],
"source": [
"# b\n",
"salary_th = salary / 1000"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"35.0\n"
]
}
],
"source": [
"# c\n",
"salary_th = salary / 1000\n",
"print(salary_th)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Задание 5 (политологическое)\n",
"\n",
"В переменной `fh` хранится значение индекса политической свободы Freedom House, а в переменной `p`\n",
"значение индекса Polity IV. Напишите программу, которая будет считать индекс Freedom:\n",
"\n",
"$Freedom = 0.4 \\cdot Freedom House + 0.6 \\cdot Polity IV$."
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"3.0"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"fh = 4.5\n",
"p = 2\n",
"\n",
"freedom = 0.4 * fh + 0.6 * p\n",
"freedom"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Задание 6 (налоговое)\n",
"\n",
"Напишите программу, которая запрашивает у пользователя с клавиатуры\n",
"изначальное значение заработной платы в рублях и выводит на экран сообщение: \n",
"\n",
" Ваша заработная плата с учетом подоходного налога: n рублей.\n",
"\n",
"где `n` значение заработной платы с учетом подоходного налога (налоговая ставка 13%).\n",
"\n",
"Подсказка: для ввода информации с клавиатуры используйте функцию `input()`. Не забудьте учесть, что результат, который вводится через `input()` является строкой, а не числом. Примеры использования `input()` и более подробное знакомство с вводом-выводом в Python см. [здесь](https://nbviewer.jupyter.org/github/allatambov/Py-programming-3/blob/master/06-04/lecture-input-output.ipynb)."
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Введите значение заработной платы: 23000\n"
]
}
],
"source": [
"n = input(\"Введите значение заработной платы: \")"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Ваша заработная плата с учетом подоходного налога: 20010 рублей.\n"
]
}
],
"source": [
"decrease = int(n) * 0.13\n",
"final = int(n) - decrease\n",
"print(\"Ваша заработная плата с учетом подоходного налога: %i рублей.\" % final)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Задание 7 (весеннее)\n",
"\n",
"С приходом весны питон решил каждый день выползать погреться на солнышко. Однако он знал, что солнце весной довольно активное, и поэтому разработал такую схему: в первый день он греется одну минуту, а в каждый последующий день увеличивает время пребывания на солнце на 3 минуты. Напишите код, который позволит вычислять, сколько минут питон будет тратить на солнечные ванны в некоторый выбранный день.\n",
"\n",
"*Внимание:* ваш код должен выводить номер дня и число минут. Использовать циклы нельзя, в задании предполагается многократный запуск ячеек с кодом."
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [],
"source": [
"# начальные значения\n",
"\n",
"d = 1\n",
"i = 1"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"4 10\n"
]
}
],
"source": [
"# ячейка запускается несколько раз\n",
"\n",
"dnext = d + 3 # следующий день\n",
"i = i + 1 # номер дня\n",
"print(i, dnext)\n",
"\n",
"d = dnext"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Задание 8 (цифровое)\n",
"\n",
"Питон выполз на улицу погулять и решил поиграть: просил прохожих назвать какую-нибудь цифру (т.е. ввести ее с клавиатуры) и приписывал эту цифру к цифре, которую назвал предыдущий прохожий. Напишите код, который позволит определить, какое число получится после опроса 4 прохожих, если известно, что первый прохожий назвал цифру 5. \n",
"Задача не подразумевает использование циклов; запускать код несколько раз / копировать ячейки можно.\n",
"\n",
"*Пример-пояснение:* первый назвал цифру 5, второй цифру 6, третий 3. Получили число 563.\n",
"\n",
"*Подсказка:* для склеивания строк (такая операция называется конкатенацией) в Python используется `+`:"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"password\n"
]
}
],
"source": [
"a = \"pass\"\n",
"b = \"word\"\n",
"\n",
"print(a + b)"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Назовите цифру: 6\n"
]
}
],
"source": [
"n0 = '5'\n",
"n = input(\"Назовите цифру: \")\n",
"n0 = n0 + n"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Назовите цифру: 3\n"
]
}
],
"source": [
"n = input(\"Назовите цифру: \")\n",
"n0 = n0 + n"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"563\n"
]
}
],
"source": [
"print(n0)"
]
}
],
"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.6.5"
}
},
"nbformat": 4,
"nbformat_minor": 2
}