diff --git a/python01-beginners/05a_hometask.ipynb b/python01-beginners/05a_hometask.ipynb index 928553c..bc07285 100644 --- a/python01-beginners/05a_hometask.ipynb +++ b/python01-beginners/05a_hometask.ipynb @@ -1,312 +1,162 @@ { "cells": [ - { - "cell_type": "markdown", - "id": "b9a4b738", - "metadata": {}, - "source": [ - "\n", - "# Программирование на языке Python. Уровень 1. Основы языка Python\n", - "\n", - "\n", - "## Домашнее задание" - ] - }, - { - "cell_type": "markdown", - "id": "33fbcb01", - "metadata": { - "task_id": "1", - "type": "task" - }, - "source": [ - "## Задача 1\n", - "\n", - "Сгенерируйте список из 10-ти случайных чисел в диапазоне от 0 до 10 с шагом 0.25 (пример: 0.25, 2.75, 4.50 etc), выведите его на экран." - ] - }, { "cell_type": "code", - "execution_count": null, - "id": "3a3a24f2", - "metadata": { - "task_id": "1", - "type": "task" - }, - "outputs": [], - "source": [ + "execution_count": 1, + "id": "37753fd3-b55c-4eb7-905e-34a55f8cfb5e", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[354.75, 442.75, 466.75, 86.75, 190.25, 496.25, 323.25, 240.25, 263.75, 35.75]\n" + ] + } + ], + "source": [ + "import random\n", "step = .25\n", - "# ваш код здесь\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "id": "ab9b0ae1", - "metadata": { - "task_id": "2", - "type": "task" - }, - "source": [ - "## Задача 2\n", - "\n", - "Запросите у пользователя ввод числа. Если пользователь ввел целое число, выведите слово \"Целое\", в противном случае - слово \"Дробное\"." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "72b6fb6d", - "metadata": { - "task_id": "2", - "type": "task" - }, - "outputs": [], - "source": [ - "# ваш код здесь\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "id": "905402c3", - "metadata": { - "task_id": "4", - "type": "task" - }, - "source": [ - "## Задача 3\n", - "\n", - "Дан список месяцев: ```months = ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь']```. Создайте словарь, в котором элементы этого списка станут ключами, а значениями будут случайные вещественные числа в диапазоне от 6 до 14. Найдите минимальное значение в данном словаре и выведите название месяца, на которое оно приходится." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d44c15d0", - "metadata": { - "task_id": "4", - "type": "task" - }, - "outputs": [], - "source": [ - "months = ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', \n", - " 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь']\n", - "\n", - "# ваш код здесь\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "id": "c58ace6a", - "metadata": { - "task_id": "6", - "type": "task" - }, - "source": [ - "## Задача 4\n", - "\n", - "Напишите программу, которая формирует список из n элементов, каждый следующий из которых равен сумме двух предыдущих. Начинается список с чисел ```[1, 2, ...]```" + "random_list = [random.randrange(0, 500, 2)+step\n", + " +random.randrange(0, 500, 2)*step\n", + " for _ in range(10)]\n", + "print(random_list)\n" ] }, { "cell_type": "code", - "execution_count": null, - "id": "74b3d018", - "metadata": { - "task_id": "6", - "type": "task" - }, - "outputs": [], - "source": [ - "# ваш код здесь\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "id": "ea3f3851", - "metadata": { - "task_id": "7", - "type": "task" - }, - "source": [ - "## Задача 5\n", - "\n", - "Сформируйте список из случайных n целых чисел в диапазоне от 0 до 100 и сделайте его симметричным с левого края. Пример: ```[2, 12, 85, 0 , 6] => [2, 12, 85, 12, 2]```" + "execution_count": 3, + "id": "7b257ce1-8d70-4094-b608-93cbe982bca7", + "metadata": {}, + "outputs": [ + { + "name": "stdin", + "output_type": "stream", + "text": [ + "n = 7\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "7.0 целое\n" + ] + } + ], + "source": [ + "n = float( input('n = ') )\n", + "print(f'{n} { [\"дробное\",\"целое\"][ n.is_integer() ] }')\n" ] }, { "cell_type": "code", "execution_count": null, - "id": "086cb5e6", - "metadata": { - "task_id": "7", - "type": "task" - }, - "outputs": [], - "source": [ - "# ваш код здесь\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "id": "b4f8a03c", - "metadata": { - "task_id": "8", - "type": "task" - }, - "source": [ - "## Задача 6\n", + "id": "b97212df-262c-4456-9e60-3ecd0ac56e5d", + "metadata": {}, + "outputs": [ + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Введите номер месяца: \n", + " 9\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Сентябрь\n", + "Minimum of months: Ноябрь\n" + ] + } + ], + "source": [ + "months = {6:'Январь', 14:'Февраль', 11:'Март', 10:'Апрель', 8:'Май', 7:'Июнь', 12:'Июль', 14:'Август', \n", + " 9:'Сентябрь', 12:'Октябрь', 6:'Ноябрь', 13:'Декабрь'}\n", + "from __future__ import division\n", "\n", - "Напишите программу, которая для заданного числа n вычисляет сумму чисел от 1 до этого числа включительно. Например, для n=3: ```1+2+3=6```" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "89eb4b86", - "metadata": { - "task_id": "8", - "type": "task" - }, - "outputs": [], - "source": [ - "# ваш код здесь\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "id": "68984596", - "metadata": { - "task_id": "9", - "type": "task" - }, - "source": [ - "## Задача 7\n", + "def pecat_mesyaca(n):\n", + " print(months[n])\n", + " mn= min(months);\n", + " print('Minimum of months:',months[mn])\n", + "while True:\n", + " vvod = input('Введите номер месяца: \\n')\n", + " if vvod == '': break\n", + " try:\n", + " pecat_mesyaca (int(vvod))\n", "\n", - "Сформируйте список из случайных n целых чисел в диапазоне от 0 до 100, и на базе этого списка сделайте словарь, ключами которого будут элементы из первой половины списка, а значения - соответствующие им элементы из второй половины, взятые с конца. Для списка с нечетным количеством элментов центральный элемент списка в формируемом словаре должен содержать свое собственное значение. Пример: ```[2, 12, 85, 0, 6] => {2:6, 12:0, 85:85}```" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "53fba105", - "metadata": { - "task_id": "9", - "type": "task" - }, - "outputs": [], - "source": [ - "# ваш код здесь\n", + " except KeyError:\n", + " print('Введен неправильный номер месяца. Нужно вводить от 6 до 14.')\n", + " except ValueError:\n", + " print('Введены нечисловые символы. Нужно вводить числа, от 6 до 14.')\n", "\n" ] }, - { - "cell_type": "markdown", - "id": "a250dd7c", - "metadata": { - "task_id": "10", - "type": "task" - }, - "source": [ - "## Задача 8\n", - "\n", - "Есть три друга: Иван, Олег и Семен. Каждый из них мечтает накопить миллион. Зарплата Ивана - 50000 р/мес, Олега - 150000 р/мес, Семена - 33000 р/мес. Напишите программу, которая составляет словарь, в котором ключи - имена друзей, а значения - количество месяцев, за которые они достигнут заветной цели. Задачу решить в общем виде, вне зависимости от зарплат друзей и целевой суммы - их должен вводить пользователь." - ] - }, { "cell_type": "code", - "execution_count": null, - "id": "93d1e2af", - "metadata": { - "task_id": "10", - "type": "task" - }, - "outputs": [], - "source": [ - "# ваш код здесь\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "id": "d40aab42", - "metadata": { - "task_id": "11", - "type": "task" - }, - "source": [ - "## Задача 9\n", + "execution_count": 1, + "id": "70365799-07f5-4de8-ad20-62a079dfabae", + "metadata": {}, + "outputs": [ + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Введите длину ряда: 8\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "6 6 12 18 30 48 78 126 \n" + ] + } + ], + "source": [ + "m = int(input('Введите длину ряда: '))\n", + "ch1 = ch2 = 6\n", + "print(ch1, ch2, end=' ')\n", "\n", - "Напишите программу, которая строит горизонтальную столбчатую диаграмму из символов \"```o```\" на базе списка из 10-ти целых случайных чисел в диапазоне от 0 до 20. Пример того, как это должно выглядеть:\n", - "```\n", - "|ooo\n", - "|ooooooo\n", - "|ooooooooooo\n", - "|ooooooo\n", - "|oooo\n", - "```" + "i = 2\n", + "while i < m:\n", + "\tch1, ch2 = ch2, ch1 + ch2 \n", + "\tprint(ch2, end=' ') \n", + "\ti += 1\n", + "print()" ] }, { "cell_type": "code", - "execution_count": null, - "id": "1bd3055b", - "metadata": { - "task_id": "11", - "type": "task" - }, - "outputs": [], - "source": [ - "# ваш код здесь\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "id": "75d0d866", - "metadata": { - "task_id": "12", - "type": "task" - }, + "execution_count": 2, + "id": "068b0146-6cda-4cd9-b1dd-5c9350cc6717", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[722, 1478, 1898, 2528, 2644, 3072, 3410, 4706, 9316, 9772]\n" + ] + } + ], "source": [ - "## Задача 10\n", - "\n", - "Хозяйка готовится к приему гостей и хочет приготовить несколько блюд. Она аккуратно переписала рецепты, но ей сложно получить общий список ингредиентов, чтобы сделать заказ на доставку в интернет-магазине. В таком списке каждое наименование должно встречаться только один раз. Помогите ей, примерные рецепты представлены в данном словаре списков:\n", - "```python\n", - "dishes = {\n", - " 'плов': ['рис', 'соль', 'перец', 'курица', 'кумин', 'барбарис', 'морковь', 'лук'],\n", - " 'цезарь': ['салат', 'сухарики', 'курица', 'соус цезарь', 'черри'],\n", - " 'сациви': ['бобы', 'курица', 'соль', 'хмели-сунели'],\n", - "}\n", - "```\n", - "В итоге требуется составить список товаров для покупки, в котором каждый товар встречается только один раз.\n", - "Задачу требуется решить в общем виде, вдруг эта программа хозяйке понадобится в следующий праздник?" + "import random\n", + "random_list = [random.randrange(152, 10000, 2)\n", + " for _ in range(10)]\n", + "sort= sorted(random_list)\n", + "print(sort)" ] }, { "cell_type": "code", "execution_count": null, - "id": "a6711f88", - "metadata": { - "task_id": "12", - "type": "task" - }, + "id": "a44d2076-d7a8-461c-99e0-46a3240d34a3", + "metadata": {}, "outputs": [], - "source": [ - "dishes = {\n", - " 'плов': ['рис', 'соль', 'перец', 'курица', 'кумин', 'барбарис', 'морковь', 'лук'],\n", - " 'цезарь': ['салат', 'сухарики', 'курица', 'соус цезарь', 'черри'],\n", - " 'сациви': ['бобы', 'курица', 'соль', 'хмели-сунели'],\n", - "}\n", - "\n", - "# ваш код здесь\n", - "\n" - ] + "source": [] } ], "metadata": { @@ -325,7 +175,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.7" + "version": "3.11.3" } }, "nbformat": 4,