{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "**Занятие 9**
\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(Черепахи)" ] }, { "attachments": {}, "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", "\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новый - {Новые_черепахи}')" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "**Задача 3**\n", "\n", "У Сережи дома лежит несколько книг из библиотеки. Список книг есть у Сережи и библиотекаря. Пусть если списки не совпадают, то у Сережи список становится таким же, как у библиотекаря. " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "**Задача 4**\n", "\n", "Доработайте программу из первой задачи. Нужно добавить возможность расширения списка. Новая клетка не должна добавляться, если она уже есть в списке. " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "**Задача 5**\n", "\n", "Доработайте предыдущую программу. Нужно добавить возможность уменьшения списка. Программа должна уметь удалять список по номеру элемента, введенного от пользователя." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "**Задача 6**\n", "\n", "Напишите программу-игру. Имеется кортеж с набором чисел. Если пользователь отгадал какое-либо число из кортежа, то он выиграл(инициализацию кортежа можно скрыть в блоках для программы выше)." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "**Задача 7**\n", "\n", "Напишите программу, которая будет выдавать список вещей каждого ящика одного большого шкафа. Каждый ящик имеет порядковый номер. " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "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 }