{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Основы программирования в Python\n", "\n", "*Алла Тамбовцева*\n", "\n", "## Домашнее задание 3 (продвинутый уровень)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Задание 1\n", "\n", "Напишите программу, которая делает следующее:\n", "\n", "* Запрашивает у пользователя с клавиатуры значения индекса (числа с плавающей точкой) через пробел.\n", "\n", "* Запрашивает у пользователя с клавиатуры названия стран, соответствующих индексам выше (строки) через пробел.\n", "\n", "* Выводит на экран одну строку – перечень стран с индексами по возрастанию. \n", "\n", "*Пример:*\n", "\n", "На входе:\n", "\n", " 2.6 3.9 7.5 7.4\n", "\n", " Франция Италия Швеция Дания\n", "\n", "На выходе:\n", "\n", " Франция: 2.6 Италия: 3.9 Дания: 7.4 Швеция: 7.5" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Пользоваться готовыми методами и функциями для сортировки нельзя, функциями `min()` и `max()` – можно." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Задание 2\n", "\n", "Дан список пар значений (список кортежей – наборов чисел в круглых скобках, которые похожи на списки, но, в отличие от них, неизменяемы):\n", "\n", " L = [(2, 7), (1, 6), (9, 8), (0, 6), (8, 7)]\n", "\n", "Напишите программу, которая выводит на экран пару с наибольшим произведением значений.\n", "\n", "*Пример:*\n", "\n", "На входе: \n", "\n", " [(2, 7), (1, 6), (9, 8), (0, 6), (8, 7)]\n", "\n", "На выходе:\n", "\n", " (9, 8)\n", "\n", "Обратите внимание, ваш код должен корректно работать для любого произвольного списка, не только для конкретного `L`." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Задание 3\n", "\n", "Напишите программу, которая запрашивает у пользователя с клавиатуры два набора целых чисел через пробел (множества $A$ и $В$) и возвращает [декартово произведение](https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D1%8F%D0%BC%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5) множества A на B. \n", "\n", "Декартово произведение множества $A$ на $B$ – это все возможные упорядоченные пары элементов этих множеств $(a, b)$, где $a$ – элемент $A$, а $b$ – элемент $B$. Упорядоченные пары – пары, где порядок элементов важен. То есть, в декартово произведение $A$ на $B$ войдет пара $(a, b)$, а пара $(b, a)$ не войдет.\n", "\n", "*Пример:*\n", "\n", "На входе:\n", "\n", " 2 10 1\n", " 7 8\n", " \n", "На выходе:\n", "\n", " [(2, 7), (2, 8), (10, 7), (10, 8), (1, 7), (1, 8)]\n", " \n", "Порядок кортежей в итоговым списке (т.е. декартовом произведении) не важен.\n", "\n", "Пользоваться готовыми функциями для нахождения декартова произведения нельзя!" ] } ], "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.6.5" } }, "nbformat": 4, "nbformat_minor": 2 }