Упражнения на разрезы (слайсы, slices)
Этих задач нет на repl.it, но вы легко сами сможете проверить,
что они работают. Кроме того, эти задачи, в отличие от остальных,
не нужно решать через функции. Вы должны написать один длинный
скрипт, который делает ровно то, что требуется по условию.
Возьмите мой код, раскомментируйте строки и замените
все ??
так, чтобы получился требуемый результат.
Напомню, что в слайсах можно
- пользоваться отрицательными индексами, они считают символы с конца. Вам тогда не понадобится считать длину строки. Вообще, если с отрицательным индексом решается короче, лучше напишите отрицательный индекс.
- писать шаг увеличения, например,
[1:10:2]
— от 1 до 10 с шагом 2. - делать шаг отрицательным
- не писать начальный индекс, тогда перечисление идет с начала (или с конца при отрицательном шаге)
- не писать конечный индекс, тогда перечисление идет до конца (или до начала при отрицательном шаге)
s = "ABCDEF123456789"
# print(s[??]) # должно получиться C
# print(s[??]) # должно получиться CDEF
# print(s[??]) # CE135
# print(s[??]) # ACE13579
# print(s[??]) # ACE1
# print(s[??]) # ABCDEF12345678
# print(s[??]) # 9
# print(s[??]) # 89
# print(s[??]) # 678
# print(s[??]) # 987654321
# print(s[??]) # 97531
# print(s[??]) # FEDCBA
# print(s[??]) # A17
# print(s[??]) # 987654321FEDCBA
# print(s[??]) # 987654321FEDCB
# print(s[??] == s) # True
# слайс для списка
# Для разнообразия не будем заводить переменную со списком
# print([10, 20, 30, 40, 50, "xyz"][??]) # 20
# print([10, 20, 30, 40, 50, "xyz"][??]) # [20] т.е. это список из одного элемента
# print([10, 20, 30, 40, 50, "xyz"][??]) # [20, 40, "xyz"]
# слайс для кортежа, тоже без переменной
# print(("abc", 20, 3.14)[??]) # 20
# print(("abc", 20, 3.14)[??]) # (20,) т.е. это кортеж из одного элемента
# print(("abc", 20, 3.14)[??]) # (3.14, 20, "abc")
# слайс для range, так тоже можно. Потому что слайсы поддерживают очень много возможностей для перечислений
# print(range(1, 100)[??]) # range(3, 21)
# print(range(1, 100)[??]) # range(2, 100, 2)
# print(range(1, 100)[??]) # range(99, 1, -1)