2.6. Кортежи
-
Пакет акций. Пакет акций имеет набор атрибутов как дата, цена и т.п. Мы можем записать эту информацию в виде кортежа для каждой акции. Допустим мы обладаем следующим пакетом:
Дата покупки Цена покупки Количество Тикер Текущая цена 25 Jan 2001 43.50 25 CAT 92.45 25 Jan 2001 42.80 50 DD 51.19 25 Jan 2001 42.10 75 EK 34.87 25 Jan 2001 37.58 100 GM 37.58 Теперь представим каждую строку в виде кортежа размером 5 со столбцами отображающими дату покупки, цену при покупке, корличество акций, тикер (уникальный код ценной бумаги) и текущей цены.
portfolio= [ ( "25-Jan-2001", 43.50, 25, 'CAT', 92.45 ), ( "25-Jan-2001", 42.80, 50, 'DD', 51.19 ), ( "25-Jan-2001", 42.10, 75, 'EK', 34.87 ), ( "25-Jan-2001", 37.58, 100, 'GM', 37.58 ) ]
Напишите функцию, которая проверяет каждую акцию в портфолио, умножает количество на цену покупки, чтобы можно было узнать общую стоимость покупки акций. Верните в виде списка.
Напишите вторую функцию, которая для каждой акции определяет разницу между стоимостью покупки всего пакета акций и текущей стоимостью акций. Получается величина дохода или убытка. Верните в виде списка.
На входе обоих функций portfolio. -
Напишите функцию tpl_sort(), которая сортирует кортеж, состоящий из целых чисел по возрастанию и возвращает его. Если хотя бы один элемент не является целым числом, то функция возвращает исходный кортеж.
-
Перед студентом стоит задача: на вход функции sieve() поступает список целых чисел. В результате выполнения этой функции будет получен кортеж уникальных элементов списка в обратном порядке.
-
Николай знает, что кортежи являются неизменяемыми, но он с этим не готов соглашаться. Ученик решил создать функцию del_from_tuple(), которая будет удалять первое появление определенного элемента из кортежа по значению и возвращать кортеж без оного. Попробуйте повторить шедевр не признающего авторитеты начинающего программиста. К слову, Николай не всегда уверен в наличии элемента в кортеже (в этом случае кортеж вернется функцией в исходном виде).