Задачи
Задача 1
Боба очень любит попугаев, но у него аллергия на птиц. Поэтому он захотел создать себе электронного попугая.
Напишите функцию parrot(phrase)
, которая будет симулировать речь попугая. Если в переменной phrase находится предложение, которое попугай слышал хотя бы один раз, то функция печатает эту фразу.
Пример 1
Ввод
Вывод
Пример 2
Ввод
Вывод
Задача 2
Иван Иванович работает в крупной компании. Обычно в обеденный перерыв он ходит в местную столовую. Начальство хочет возместить расходы на питание.
Для большего комфорта сотрудников возмещение выдаётся за любые несколько дней прошедшего месяца. Напишите функцию count_food(days)
, которая принимает на вход массив чисел от 1 до 31 и возвращает, сколько в сумме было потрачено на обеды в эти дни. Сумма, потраченная в каждый из дней, находится в глобальном массиве daily_food
. Например, daily_food[0]
– сумма, потраченная в первый день.
Формат ввода
Список целых чисел, каждое из которых – номера дней в месяце
###Формат вывода
Целое число – сумма, потраченная за указанные дни на питание.
Пример 1
Ввод
Вывод
Пример 2
Ввод
Вывод
Задача 3
Напишите пример, который продемонстрирует отличия между методом sort()
списка и функцией sorted(arr)
. На основе вашего кода должно быть возможно показать, какой из вариантов меняет список, а какой – создает новый, отсортированный список.
Примечания
В качестве решения приложите файл с кодом, в котором обязательно должны присутствовать комментарии, поясняющие работу программы.
Задача 4
Объясните и исправьте ошибку в функции continue_fibonacci_sequence(sequence, n)
, которая принимает часть последовательности Фибоначчи sequence и продолжает её на n элементов. Список sequence представляет из себя несколько – не менее двух – чисел, следующих в последовательности Фибоначчи друг за другом.
Пример 1
Ввод
Вывод
Пример 2
Ввод
Вывод
Задача 5
Посмотрите на функцию mirror(arr)
, которая должна список длины N превратить в список длины 2N
, первая половина которого равна исходному списку, а вторая половина равна перевёрнутому («отражённому» относительно конца):
В эту функцию вкралась ошибка. Найдите её, исправьте и отправьте корректную функцию на проверку в тестирующую систему.
Пример 1
Ввод
Вывод
Пример 2
Ввод
Вывод
Задача 6
Напишите функцию from_string_to_list(string, container)
, которая принимает два аргумента: строку string
, состоящую из целых чисел, написанных через пробел, и список container
. Функция должна извлечь из строки числа и добавить их в конец списка.
Пример 1
Ввод
Вывод
Пример 2
Ввод
Вывод
Задача 7
Напишите функцию transpose(matrix)
, которая принимает матрицу N × M
(т.е. список из N
списков-строк по M элементов каждый) и транспонирует её, т.е. превращает строки в столбцы и наоборот. i-ая строка при этом превращается в i-й столбец.
Пример 1
Ввод
Вывод
Пример 2
Ввод
Вывод
Задача 8
Для хитроумного приспособления, которое обменивает людей личностями, вы должны написать функцию, которая принимает список мыслей одного человека и другого, а затем обменивает их содержимым.
Функция должна называться swap(first, second)
. Первый список должен получить содержимое второго списка, и наоборот.
Пример 1
Ввод
Вывод
Пример 2
Ввод
Вывод