1_semester_python_liga/Lesson_9.ipynb

338 lines
11 KiB
Plaintext
Raw Normal View History

2020-03-18 05:45:57 +03:00
{
"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
}