книга заданий пайтон. книга практических заданий, pyton. Сборник упражнений Введение в язык Python с задачами и решениями Бен Стивенсон Москва, 2021 удк 004. 438Python
Скачать 2.24 Mb.
|
Упражнение 108. Переводим меры(Решено. 87 строк) Во многих кулинарных книгах до сих пор можно встретить рецепты, в которых ингредиенты отмеряются стаканами, чайными и столовыми ложками. И хотя при наличии этих нехитрых предметов таким рецептам следовать довольно удобно, бывает трудно быстро преобразовать подобные меры при приготовлении рождественского ужина на огромную семью. Например, если в рецепте сказано взять четыре столовые ложки того или иного ингредиента, то при увеличении выхода в четыре раза можно просто отсчитать 16 столовых ложек. Однако гораздо проще было бы привести эту меру к одному стакану. Напишите функцию, выражающую заданный объем ингредиентов с использованием минимально возможных замеров. Функция должна принимать в качестве параметра количество единиц измерения, а также их тип (стакан, столовая или чайная ложка). На выходе мы должны получить строку, представляющую указанное количество вещества, с задействованием минимального количества действий и предметов. Например, если на вход функции вы подали объем, равный 59 чайным ложкам, возвращенная строка должна быть такой: «1 cup, 3 tablespoons, 2 teaspoons». Примечание. Используйте в этом упражнении английское написание мер: cup, tablespoon и teaspoon, добавляя к ним во множественном числе окончание s. Подсказка. Один стакан вмещает 16 столовых ложек, а одна столовая ложка эквивалентна трем чайным ложкам. Упражнение 109. Магические даты(Решено. 26 строк) Магическими называются даты, в которых произведение дня и месяца составляет последние две цифры года. Например, 10 июня 1960 года – магическая дата, поскольку 10 ´ 6 = 60. Напишите функцию, определяющую, является ли введенная дата магической. Используйте написанную функцию в главной программе для отображения всех магических дат в XX ве ке. Возможно, вам пригодится здесь функция, разработанная в упражнении 106. Глава 5 СпискиДо сих пор все переменные, которые мы создавали, хранили единственное значение. При этом само значение могло быть абсолютно любого типа – целочисленного, строкового, булевого и т. д. И хотя для более или менее простых задач это приемлемо, когда речь заходит о больших наборах данных, такого подхода становится недостаточно. И тогда на арену выходят списки (list), позволяющие хранить в одной переменной множество значений. Переменная списка создается так же, как и все остальные, – при помощи оператора присваивания. Единственное отличие в случае со списком состоит в том, что его значения справа от знака равенства должны быть заключены в квадратные скобки и разделены запятыми. Например, в следующем выражении создается список с именем data, состоящий из четырех чисел с плавающей запятой. В следующей строке осуществляется вывод списка на экран при помощи функции print. При этом будут отображены все четыре числа, поскольку они хранятся в одной переменной data. data = [2.71, 3.14, 1.41, 1.62] print(data) Список может содержать ноль или больше элементов. Пустой список, не содержащий значений, обозначается как [] (закрывающая квадратная скобка следует непосредственно за открывающей). Как целочисленные переменные могут быть инициализированы нулевым значением, которое впоследствии может измениться, так и списки могут изначально создаваться пустыми, а позже – по ходу выполнения программы – пополняться элементами. 5.1. доступ к элементам спискаКаждое значение в списке именуется элементом. Элементы списка пронумерованы последовательными целыми числами, начиная с нуля. Каждое число идентифицирует конкретный элемент списка и называется индексом этого элемента. В предыдущем фрагменте кода число 2,71 соответствует индексу 0, а 1,62 – индексу 3. Обратиться к конкретному элементу списка можно при помощи имени переменной, хранящей список, с последующим индексом, заключенным в квадратные скобки. Например, показанная ниже запись выведет на экран число 3,14. Обратите внимание, что индекс 1 соответствует не первому, а второму в списке элементу. data = [2.71, 3.14, 1.41, 1.62] print(data[1]) Изменить значение конкретного элемента списка можно при помощи обычного оператора присваивания. При этом слева от него должно стоять имя переменной, в которой хранится список, с индексом нужного элемента в квадратных скобках, а справа – новое значение. В результате выполнения этой операции значение будет присвоено соответствующему элементу с удалением предыдущего содержимого. Остальные элементы списка затронуты не будут. Посмотрите на следующий фрагмент кода. Здесь мы создали список из четырех элементов, после чего изменили значение элемента с индексом 2 на 2,30. В результате выполнения функции print будет выведено актуальное содержимое списка со следующими значениями: 2,71, 3,14, 2,30 и 1,62. data = [2.71, 3.14, 1.41, 1.62] data[2] = 2.30 print(data) |