Основы программирования в Python

Алла Тамбовцева

Домашнее задание 3 (продвинутый уровень)

Задание 1

Напишите программу, которая делает следующее:

  • Запрашивает у пользователя с клавиатуры значения индекса (числа с плавающей точкой) через пробел.

  • Запрашивает у пользователя с клавиатуры названия стран, соответствующих индексам выше (строки) через пробел.

  • Выводит на экран одну строку – перечень стран с индексами по возрастанию.

Пример:

На входе:

2.6 3.9 7.5 7.4

Франция Италия Швеция Дания

На выходе:

Франция: 2.6 Италия: 3.9 Дания: 7.4 Швеция: 7.5

Пользоваться готовыми методами и функциями для сортировки нельзя, функциями min() и max() – можно.

Задание 2

Дан список пар значений (список кортежей – наборов чисел в круглых скобках, которые похожи на списки, но, в отличие от них, неизменяемы):

L = [(2, 7), (1, 6), (9, 8), (0, 6), (8, 7)]

Напишите программу, которая выводит на экран пару с наибольшим произведением значений.

Пример:

На входе:

[(2, 7), (1, 6), (9, 8), (0, 6), (8, 7)]

На выходе:

(9, 8)

Обратите внимание, ваш код должен корректно работать для любого произвольного списка, не только для конкретного L.

Задание 3

Напишите программу, которая запрашивает у пользователя с клавиатуры два набора целых чисел через пробел (множества $A$ и $В$) и возвращает декартово произведение множества A на B.

Декартово произведение множества $A$ на $B$ – это все возможные упорядоченные пары элементов этих множеств $(a, b)$, где $a$ – элемент $A$, а $b$ – элемент $B$. Упорядоченные пары – пары, где порядок элементов важен. То есть, в декартово произведение $A$ на $B$ войдет пара $(a, b)$, а пара $(b, a)$ не войдет.

Пример:

На входе:

2 10 1
7 8

На выходе:

[(2, 7), (2, 8), (10, 7), (10, 8), (1, 7), (1, 8)]

Порядок кортежей в итоговым списке (т.е. декартовом произведении) не важен.

Пользоваться готовыми функциями для нахождения декартова произведения нельзя!