1_semester_python_liga/Lesson_9.ipynb
2020-04-19 09:58:30 +05:00

338 lines
11 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"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
}