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
384 changes: 384 additions & 0 deletions new.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,384 @@
{
"cells": [
{
"cell_type": "markdown",
"id": "0a11e40c",
"metadata": {},
"source": [
"### Задача 1"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "0ec1f0ef",
"metadata": {},
"outputs": [],
"source": [
"# Список\n",
"new_list = [100, 80, 75, 77, 89, 33, 45, 25, 65, 17, 30, 230, 24, 57, 55, 70, 75, 65, 84, 90, 150]\n",
"\n",
"def sum_list(list):\n",
" \"\"\"Суммирование всех элементов списка\"\"\"\n",
" n_sum = 0\n",
" for i in list:\n",
" n_sum += i\n",
" return n_sum"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "ad23c3f3",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Ответ: 47.34795213553139\n"
]
}
],
"source": [
"def get_dis(list):\n",
" \"\"\" Нахождение результата по формуле квадратичного отклонения \"\"\"\n",
" d_sum = 0\n",
" result = 0\n",
" # Нахождение среднего значения списка\n",
" list_aver = sum_list(list) / len(list)\n",
" for i in list:\n",
" d_sum += (i - list_aver)**2\n",
" # Результат - корень из полученного значения \n",
" return (d_sum / (len(list) - 1))**0.5\n",
" \n",
"answ = get_dis(new_list)\n",
"print(\"Ответ: \", answ)"
]
},
{
"cell_type": "markdown",
"id": "d332c51e",
"metadata": {},
"source": [
"### Задача 2"
]
},
{
"cell_type": "markdown",
"id": "41a15c9d",
"metadata": {},
"source": [
"Задача 2\n",
"Найдите число выбросов в выборке из задачи 1. Для определения выбросов используйте методику как при построении “усов” в boxplot, однако, как и в задаче 1, пользоваться можно только встроенными функциями и структурами данных.\n"
]
},
{
"cell_type": "code",
"execution_count": 65,
"id": "27ee281e",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[17, 24, 25, 30, 33, 45, 55, 57, 65, 65, 70, 75, 75, 77, 80, 84, 89, 90, 100, 150, 230]\n"
]
}
],
"source": [
"# Для начала упорядочим список по возрастанию\n",
"def sort_list(list):\n",
" i = 0\n",
" a = 0\n",
" while i < (len(list) - 1):\n",
" if list[i+1] < list[i]:\n",
" a = list[i]\n",
" list[i] = list[i+1]\n",
" list[i+1] = a\n",
" i = 0\n",
" else:\n",
" i += 1\n",
" return list\n",
"sorted_list = sort_list(new_list)\n",
"print([elem for elem in sorted_list]) "
]
},
{
"cell_type": "code",
"execution_count": 79,
"id": "306e95a5",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(70, 45, 84)"
]
},
"execution_count": 79,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Вычислим медиану\n",
"list_m = sorted_list[len(sorted_list) // 2]\n",
"\n",
"# Вычислим нижний квантиль\n",
"def get_q1(list):\n",
" list_q1 = [elem for elem in list if elem < list[len(list) // 2]]\n",
" i = len(list_q1) // 2\n",
" result = list_q1[i] \n",
" return result\n",
"\n",
"# Вычислим верхний квантиль\n",
"def get_q3(list):\n",
" list_q3 = [elem for elem in list if elem > list[len(list) // 2]]\n",
" i = len(list_q3) // 2\n",
" result = list_q3[i-1]\n",
" return result\n",
"\n",
"list_q1 = get_q1(sorted_list)\n",
"list_q3 = get_q3(sorted_list)\n",
"list_m, list_q1, list_q3"
]
},
{
"cell_type": "code",
"execution_count": 90,
"id": "7d709283",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(58.5, -26.25, 155.25)"
]
},
"execution_count": 90,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Вычислим межквантильный диапазон\n",
"q_d = 1.5 * (list_q3 - list_q1)\n",
"\n",
"# Найдем внутренние границы значений\n",
"x1 = list_q1 - q_n\n",
"x2 = list_q3 + q_n\n",
"\n",
"q_d, x1, x2"
]
},
{
"cell_type": "code",
"execution_count": 91,
"id": "42faac62",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"([230], 1)"
]
},
"execution_count": 91,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Выведем элементы, которые не входят во внутренние границы и количество\n",
"main_res = [elem for elem in new_list if (elem <= x1) or (elem >= x2)]\n",
"main_res, len(main_res)"
]
},
{
"cell_type": "code",
"execution_count": 86,
"id": "6e5e8bad",
"metadata": {},
"outputs": [],
"source": [
"# Ответ не совпал, выполню проверку"
]
},
{
"cell_type": "code",
"execution_count": 87,
"id": "81063bf8",
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 88,
"id": "978fb76a",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(70.0, 45.0, 84.0)"
]
},
"execution_count": 88,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.quantile(sorted_list, 0.5), np.quantile(sorted_list, 0.25), np.quantile(sorted_list, 0.75)"
]
},
{
"cell_type": "code",
"execution_count": 89,
"id": "d20c8300",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.boxplot(sorted_list)\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 92,
"id": "59c9ff7d",
"metadata": {},
"outputs": [],
"source": [
"# BoxPlot показывает два выброса, у меня получился один, значение 150 почему-то\n",
"# не захвачено, жду проверки :)"
]
},
{
"cell_type": "markdown",
"id": "03516c35",
"metadata": {},
"source": [
"### Задача 3"
]
},
{
"cell_type": "markdown",
"id": "4c549a57",
"metadata": {},
"source": [
"В университет на факультет A поступило 100 человек, на факультет B - 90 человек и на факультет C - 45 человек. Вероятность того, что студент с факультета A сдаст первую сессию, равна 0.6. Для студента с факультета B эта вероятность равна 0.7, а для студента с факультета C - 0.8. Случайным образом выбирается студент, сдавший первую сессию. Какое событие наиболее вероятно:\n",
"\n",
"студент учится на факультете A,\n",
"студент учится на факультете B,\n",
"студент учится на факультете C?"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "71f5cce9",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.425531914893617 0.3829787234042553 0.19148936170212766\n"
]
}
],
"source": [
"# Вероятности для каждого факультета\n",
"A1 = 0.6\n",
"A2 = 0.7\n",
"A3 = 0.8\n",
"\n",
"# количество учащихся в каждом факультете\n",
"A_n = 100\n",
"B_n = 90\n",
"C_n = 45\n",
"\n",
"# общее количество учащихся\n",
"N = 100 + 90 + 45\n",
"\n",
"# Вероятности для каждого факультета, что случайно выбранный студент именно с него\n",
"Xn_A = A_n / N\n",
"Xn_B = B_n / N\n",
"Xn_C = C_n / N\n",
"print(Xn_A, Xn_B, Xn_C)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "057c3c29",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"25.53 26.81 15.32\n"
]
}
],
"source": [
"# Так как наши вероятности зависимы, найдем искомую вероятность, перемножив их друг \n",
"# на друга\n",
"P_a = round((Xn_A * A1) * 100, 2)\n",
"P_b = round((Xn_B * A2) * 100, 2)\n",
"P_c = round((Xn_C * A3) * 100, 2)\n",
"print(P_a, P_b, P_c)"
]
},
{
"cell_type": "markdown",
"id": "345e6c71",
"metadata": {},
"source": [
"#### Наиболее вероятно событие №2"
]
}
],
"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.8"
}
},
"nbformat": 4,
"nbformat_minor": 5
}