8«В» — Переписывание самостоятельной работы №2.

Задача 1. «Шифруем массив»

Дан список целых чисел. Постройте по нему новый список такой же длины, в котором i-ый элемент равен сумме i-го и всех предыдущих элементов исходного списка. Выведите построенный список.

Задача 2. «Имя директории»

Напишите функцию, которая извлекает из полного адреса файла название каталога.
Например, из адреса /programs/commonfiles/home/Kirill/file1.doc
нужно извлечь название каталога /programs/commonfiles/home/Kirill/
(И конечно же, напишите программу для проверки этой функции!)

Задача 3. «Большой сдвиг»

Дан список из N (1 ≤ N ≤ 100000) целых чисел и число K (|K| < 100000).
Циклически сдвиньте список на |K| элементов вправо, если K — положительное, и влево, если отрицательное число.

Программа получает на вход список целых чисел, затем число K.

Пример

Ввод Вывод
15 3 72 44 6
3
72 44 6 15 3
15 3 72 44 6
-9
6 15 3 72 44

Задача 4. «Переставьте слова»

Дана строка со словами, разделёнными пробелами.
Создайте строку, в которой переставлены соседние слова: 1-е слово исходной строки переставлено со 2-м, 3-е с 4-м и т.д. Если слов — нечётное число, то последнее остаётся на месте.
Выведите созданную строку.

Задача 5. «Числа в некотором порядке»

Дан список чисел и дан делитель D≥2. Выведите числа списка в следующем порядке: сначала выводятся все числа кратные D в том же порядке, как в исходном списке, затем — все числа с остатком 1 при делении на D (порядок — как в исходном списке), затем — все с остатком 2 (в исходном порядке), и т.д., под конец — все числа с остатком D-1 при делении на D (тоже в исходном порядке).
Обязательно напишите и используйте хотя бы одну функцию.

Пример

Ввод Вывод
-11 3 17 0 444 35 1
3
3 0 444 -11 1 17 35

Задача 6. «Принадлежит ли точка области»

Проверьте, принадлежит ли точка данной закрашенной области:
На рисунке сетка проведена с шагом 1.

Решение оформите в виде функции isPointInArea(x, y), которая возвращает True, если точка принадлежит закрашенной области, и False, если не принадлежит (для граничных точек функция может вернуть любой результат).
Основная программа должна считать координаты точки, вызвать функцию isPointInArea и, в зависимости от возвращённого значения, вывести на экран необходимое сообщение.

Задача 7. «Значение выражения»

Напишите программу, которая вычисляет значение арифметического выражения, содержащего только целые числа и знаки сложения и вычитания. Выражение записано в символьной строке. Не забудьте о существовании унарных + и -.
Нельзя пользоваться стандартной функцией Python'а eval, вычисляющей выражение!

Пример

Ввод Вывод
-25+3+7-100
-115