Большинство упражнений этого листка копирует задачи предыдущего листка. Но в предыдущем листке задачи необходимо решать без использования срезов, дополнительных списков, методов списков.
В этом же листке, наоборот, нельзя использовать циклы (кроме последних двух задач). Используйте срезы и методы.
Для всех задач написано, какое наибольшее число строк может быть в вашей программе.
Если программа решается в одну строку, то необходимо использовать функции внутри функций. Например, вот так
можно вычислить сумму всех чисел, введенных в строку, используя стандартную функцию sum
:
print(sum(map(int, input().split())))
Обратите внимание, в однострочном решении нельзя сохранять список в переменной — нужно сразу же его обработать и вывести результат.
Решение в две строки строки, как правило, должно иметь следующий вид:
a = input().split() print(' '.join(...))
При этом зачастую не требуется преобразовывать элементы списка к типу int
.
Решение в три строки строки, как правило, должно иметь следующий вид:
a = input().split() a = ... print(' '.join(...))
Решите эту задачу в одну строку.
Ввод | Вывод |
---|---|
1 2 3 4 5 |
1 3 5 |
Решите эту задачу в две строки.
Ввод | Вывод |
---|---|
1 2 3 2 1 |
3 2 |
Решите эту задачу в одну строку.
Но от вас требуется только вывести входные числа в обратном порядке, а не переставлять элементы списка.
Ввод | Вывод |
---|---|
1 2 3 4 5 |
5 4 3 2 1 |
Решите эту задачу в три строки.
Но от вас требуется только вывести входные числа в обратном порядке, а не переставлять элементы списка.
Ввод | Вывод |
---|---|
1 2 3 4 5 |
2 1 4 3 5 |
Решите эту задачу в две строки
Но от вас требуется только вывести числа в нужном порядке, а не переставлять элементы списка.
Ввод | Вывод |
---|---|
1 2 3 4 5 |
5 1 2 3 4 |
Дан список чисел. Переставьте его элементы следующим образом. Элементы с чётными индексами (0, 2, 4, ...) остаются на своих местах, а элементы с нечётными индексами меняют свой порядок на противоположный.
Выведите полученный список после модификации.
Решите эту задачу в три строки. Первая строка — считывание списка, вторая строка — модификация списка, третья строка — вывод результата.
Ввод | Вывод |
---|---|
9 8 7 6 5 4 3 2 |
9 2 7 4 5 6 3 8 |
9 8 7 6 5 4 3 2 1 |
9 2 7 4 5 6 3 8 1 |
Дан список чисел. Разделите его на две равные части и переставьте эти части местами, не меняя порядка элементов внутри одной части. Если в списке нечётное число элементов, то средний элемент остаётся на своём месте.
Выведите полученный список после модификации.
Решите эту задачу в три строки. Первая строка — считывание списка, вторая строка — модификация списка, третья строка — вывод результата.
Ввод | Вывод |
---|---|
9 8 7 6 5 4 3 2 |
5 4 3 2 9 8 7 6 |
9 8 7 6 5 4 3 2 1 |
4 3 2 1 5 9 8 7 6 |
Решите эту задачу в пять строк
Первая строка — считывание данных. Вторая строка — создание списка.
Третья строка — цикл for
. Четвертая строка — добавление нового элемента в список.
Пятая строка — вывод результата. Для суммирования среза списка используйте функцию sum
.
Ввод | Вывод |
---|---|
3 6 |
17 |
100 0 |
1 |
Решите эту задачу в четыре строки
Первая строка — считывание списка. Вторая строка — цикл for
и считывание числа повторений. Третья строка — модификация списка в цикле.
Четвертая строка — вывод результата.
Ввод | Вывод |
---|---|
1 2 3 4 2 |
4 1 2 2 3 |