mirror of
https://github.com/nicholasChieftain/1_semester_python_liga.git
synced 2024-11-30 00:00:53 +03:00
338 lines
11 KiB
Plaintext
338 lines
11 KiB
Plaintext
|
{
|
|||
|
"cells": [
|
|||
|
{
|
|||
|
"cell_type": "markdown",
|
|||
|
"metadata": {},
|
|||
|
"source": [
|
|||
|
"**Занятие 9**<br>\n",
|
|||
|
"Списки и кортежи"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "markdown",
|
|||
|
"metadata": {},
|
|||
|
"source": [
|
|||
|
"**Лаконичные программы**"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 14,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [
|
|||
|
{
|
|||
|
"name": "stdout",
|
|||
|
"output_type": "stream",
|
|||
|
"text": [
|
|||
|
"Введите номер клетки черепахи от 1 до 5: 2\n",
|
|||
|
"\n",
|
|||
|
"У черепахи 2 желтая клетка.\n"
|
|||
|
]
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"Черепахи = [\"красная клетка\", \"желтая клетка\", \"чёрная клетка\", \"синяя клетка\", \"зелёная клетка\"]\n",
|
|||
|
"\n",
|
|||
|
"номер_черепахи = int(input(f'Введите номер клетки черепахи от 1 до {len(Черепахи)}: '))\n",
|
|||
|
"\n",
|
|||
|
"print(f'\\nУ черепахи {номер_черепахи} {Черепахи[номер_черепахи - 1]}.')"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "markdown",
|
|||
|
"metadata": {},
|
|||
|
"source": [
|
|||
|
"**Срез списка**"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": null,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"print(Черепахи[0:2])"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "markdown",
|
|||
|
"metadata": {},
|
|||
|
"source": [
|
|||
|
"**Задача 1**\n",
|
|||
|
"\n",
|
|||
|
"Доработайте самую первую программу. Как исправить неправильно введенный номер черепахи? \n",
|
|||
|
"\n",
|
|||
|
"Первоначальная программа: \u000b",
|
|||
|
"Пользователь ввел “0”, тогда выводится:\n",
|
|||
|
"\n",
|
|||
|
"\n",
|
|||
|
"“У черепахи 0 зелёная клетка”.\n"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": null,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [],
|
|||
|
"source": []
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "markdown",
|
|||
|
"metadata": {},
|
|||
|
"source": [
|
|||
|
"**Операции над массивами**\n",
|
|||
|
"\n",
|
|||
|
"Поробуйте умножение и сложение на двух списках ниже. "
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": null,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"список_1 = [1, 2, 3, 4]\n",
|
|||
|
"список_2 = [\"я\",\"мечтаю\" ,\"о\" ,\"пломбире\"]\n",
|
|||
|
"\n",
|
|||
|
"#Сложите список_1 и список_2 и выведите резульатат операции; \n",
|
|||
|
"\n",
|
|||
|
"#Попробуйте умножить любой список на число и вывести результат операции.\n",
|
|||
|
"\n"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "markdown",
|
|||
|
"metadata": {},
|
|||
|
"source": [
|
|||
|
"**Добавить, вставить, удалить**"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": null,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"Черепахи.append(\"белая клетка\")#Добавить элемент в конец списка\n",
|
|||
|
"Черепахи.remove(\"желтая клетка\")#Удалить конкретный элемент\n",
|
|||
|
"Черепахи.insert(3, \"филетовая клетка\")#Вставить после третьего элемента элемент \"филетовая клетка"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": null,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [],
|
|||
|
"source": [
|
|||
|
"#Выведем результат проделанных операций\n",
|
|||
|
"print(Черепахи)"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "markdown",
|
|||
|
"metadata": {},
|
|||
|
"source": [
|
|||
|
"**Задача 2**\n",
|
|||
|
"\n",
|
|||
|
"Создайте список из дел на день. Если список большой, то пусть пользователю выводится сообщение “Дело мастера боится”. "
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": null,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [],
|
|||
|
"source": []
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "markdown",
|
|||
|
"metadata": {},
|
|||
|
"source": [
|
|||
|
"**Кортежи**"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 10,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [
|
|||
|
{
|
|||
|
"name": "stdout",
|
|||
|
"output_type": "stream",
|
|||
|
"text": [
|
|||
|
"(1, 2, 3)\n",
|
|||
|
"<class 'tuple'>\n"
|
|||
|
]
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"мой_кортеж = (1, 2, 3)\n",
|
|||
|
"print(мой_кортеж)\n",
|
|||
|
"print(type(мой_кортеж))"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "markdown",
|
|||
|
"metadata": {},
|
|||
|
"source": [
|
|||
|
"**Копирование списков**"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 21,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [
|
|||
|
{
|
|||
|
"name": "stdout",
|
|||
|
"output_type": "stream",
|
|||
|
"text": [
|
|||
|
"До подмены\n",
|
|||
|
"исходный - ['красная клетка', 'желтая клетка', 'чёрная клетка', 'синяя клетка', 'зелёная клетка']\n",
|
|||
|
"новый - ['красная клетка', 'желтая клетка', 'чёрная клетка', 'синяя клетка', 'зелёная клетка']\n",
|
|||
|
"После подмены\n",
|
|||
|
"исходный - ['красная клетка', 'Подмена', 'чёрная клетка', 'синяя клетка', 'зелёная клетка']\n",
|
|||
|
"новый - ['красная клетка', 'Подмена', 'чёрная клетка', 'синяя клетка', 'зелёная клетка']\n"
|
|||
|
]
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"#Неправильное копирование списоков\n",
|
|||
|
"Черепахи = [\"красная клетка\", \"желтая клетка\", \"чёрная клетка\", \"синяя клетка\", \"зелёная клетка\"]\n",
|
|||
|
"Новые_черепахи = Черепахи\n",
|
|||
|
"print(f'До подмены\\nисходный - {Черепахи}\\nновый - {Новые_черепахи}')\n",
|
|||
|
"Новые_черепахи[1] = 'Подмена'\n",
|
|||
|
"print(f'После подмены\\nисходный - {Черепахи}\\nновый - {Новые_черепахи}')"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 20,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [
|
|||
|
{
|
|||
|
"name": "stdout",
|
|||
|
"output_type": "stream",
|
|||
|
"text": [
|
|||
|
"До подмены\n",
|
|||
|
"исходный - ['красная клетка', 'желтая клетка', 'чёрная клетка', 'синяя клетка', 'зелёная клетка']\n",
|
|||
|
"новый - ['красная клетка', 'желтая клетка', 'чёрная клетка', 'синяя клетка', 'зелёная клетка']\n",
|
|||
|
"После подмены\n",
|
|||
|
"исходный - ['красная клетка', 'желтая клетка', 'чёрная клетка', 'синяя клетка', 'зелёная клетка']\n",
|
|||
|
"новый - ['красная клетка', 'Подмена', 'чёрная клетка', 'синяя клетка', 'зелёная клетка']\n"
|
|||
|
]
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"#Правильное копирование списоков\n",
|
|||
|
"Черепахи = [\"красная клетка\", \"желтая клетка\", \"чёрная клетка\", \"синяя клетка\", \"зелёная клетка\"]\n",
|
|||
|
"Новые_черепахи = Черепахи[:]\n",
|
|||
|
"print(f'До подмены\\nисходный - {Черепахи}\\nновый - {Новые_черепахи}')\n",
|
|||
|
"Новые_черепахи[1] = 'Подмена'\n",
|
|||
|
"print(f'После подмены\\nисходный - {Черепахи}\\nновый - {Новые_черепахи}')"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "markdown",
|
|||
|
"metadata": {},
|
|||
|
"source": [
|
|||
|
"**Задача 3**\n",
|
|||
|
"\n",
|
|||
|
"У Сережи дома лежит несколько книг из библиотеки. Список книг есть у Сережи и библиотекаря. Пусть если списки не совпадают, то у Сережи список становится таким же, как у библиотекаря. "
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": null,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [],
|
|||
|
"source": []
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "markdown",
|
|||
|
"metadata": {},
|
|||
|
"source": [
|
|||
|
"**Задача 4**\n",
|
|||
|
"\n",
|
|||
|
"Доработайте программу из первой задачи. Нужно добавить возможность расширения списка. Новая клетка не должна добавляться, если она уже есть в списке. "
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": null,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [],
|
|||
|
"source": []
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "markdown",
|
|||
|
"metadata": {},
|
|||
|
"source": [
|
|||
|
"**Задача 5**\n",
|
|||
|
"\n",
|
|||
|
"Доработайте предыдущую программу. Нужно добавить возможность уменьшения списка. Программа должна уметь удалять список по номеру элемента, введенного от пользователя."
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": null,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [],
|
|||
|
"source": []
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "markdown",
|
|||
|
"metadata": {},
|
|||
|
"source": [
|
|||
|
"**Задача 6**\n",
|
|||
|
"\n",
|
|||
|
"Напишите программу-игру. Имеется кортеж с набором чисел. Если пользователь отгадал какое-либо число из кортежа, то он выиграл(инициализацию кортежа можно скрыть в блоках для программы выше)."
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": null,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [],
|
|||
|
"source": []
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "markdown",
|
|||
|
"metadata": {},
|
|||
|
"source": [
|
|||
|
"**Задача 7**\n",
|
|||
|
"\n",
|
|||
|
"Напишите программу, которая будет выдавать список вещей каждого ящика одного большого шкафа. Каждый ящик имеет порядковый номер. "
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"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.7.3"
|
|||
|
}
|
|||
|
},
|
|||
|
"nbformat": 4,
|
|||
|
"nbformat_minor": 2
|
|||
|
}
|