{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Python для сбора и анализа данных \n", "\n", "*Алла Тамбовцева, НИУ ВШЭ*\n", "\n", "## Семинар 4 по теме: функции" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Задача 1\n", "Напишите функцию `square()`, которая принимает на вход число и:\n", "\n", "* возвращает его квадрат;\n", "* выводит на экран сообщение вида \"Квадрат числа равен: n\" и ничего не возвращает;\n", "* выводит на экран сообщение вида \"Квадрат числа равен: n\" и возвращает квадрат числа;" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Задача 2\n", "Напишите функцию `nums()`, которая принимает на вход целое число, а возвращает список из двух элементов: целое число, предшествующее принятому на вход, и число, следующее за ним.\n", "\n", "**Пример:**\n", "\n", "*Входные данные:*\n", "\n", " 7\n", "\n", "*Выходные данные:*\n", "\n", " [6, 8]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Задача 3\n", "Напишите функцию `str_lower()`, которая принимает на вход строку (набор слов через пробел), а возвращает список ее элементов в нижнем регистре. \n", "\n", "**Пример:**\n", "\n", "*Входные данные:*\n", "\n", " \"В лесу родилась ёлочка В лесу она росла\"\n", "\n", "*Выходные данные:*\n", "\n", " ['в', 'лесу', 'родилась', 'ёлочка', 'в', 'лесу', 'она', 'росла']" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Задача 4\n", "Напишите функцию `my_log()`, которая принимает на вход список чисел, и возвращает список их натуральных логарифмов. Если число меньше или равно 0, на его месте в возвращаемом списке должно быть None.\n", "\n", "**Пример:**\n", "\n", "*Входные данные:*\n", "\n", " [1, 3, 2.5, -1, 9, 0, 2.71]\n", "\n", "*Выходные данные:*\n", "\n", " [0.0,\n", " 1.0986122886681098,\n", " 0.9162907318741551,\n", " None,\n", " 2.1972245773362196,\n", " None,\n", " 0.9969486348916096]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Задача 5\n", "Напишите функцию, которая принимает на вход два списка (имена людей и их возраст) и делает следующее:\n", "\n", "* если эти два списка имеют одинаковую длину, то возвращает словарь с парами имя-возраст;\n", "\n", "* если эти два списка имеют разную длину, то функция выводит на экран сообщение \"Списки имеют разную длину\" и возвращает пустой словарь.\n", "\n", "**Пример:**\n", "\n", "*Входные данные:*\n", "\n", " [\"Ann\", \"Tim\", \"Sam\"]\n", " [12, 23, 17]\n", "\n", "*Выходные данные:*\n", "\n", " {\"Ann\": 12, \"Tim\": 23, \"Sam\": 17}\n", "\n", "*Входные данные:*\n", "\n", " [\"Ann\", \"Tim\", \"Sam\"]\n", " [12, 23, 17, 45]\n", "\n", "*Выходные данные:*\n", " \n", " Списки имеют разную длину\n", " {}\n", " \n", "**Подсказка:** используйте функцию `zip()` и код `dict(zip())`." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Задача 6\n", "\n", "Напишите функцию `binom_prob()`, которая считает вероятность того, что проведя `n` испытаний Бернулли с вероятностью успеха `p`, мы получим ровно `k` успехов. Эта функция принимает на вход три аргумента: `p`, `n` и `k` и возвращает такой результат:\n", "\n", "$P(X = k) = C_n^k \\cdot p^k \\cdot (1-p)^{n-k}$\n", "\n", "Для расчета биномиального коэффициента можно использовать функцию, написанную на лекции." ] } ], "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.7.4" } }, "nbformat": 4, "nbformat_minor": 2 }