601 lines
15 KiB
Plaintext
601 lines
15 KiB
Plaintext
{
|
||
"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
|
||
}
|