Пару можно создать на основе строки. Для хранения двух значений применим разделитель. Им может выступить любой символ, однако во избежание совпадений с исходными данными лучше взять редко используемое значение.
Для этого подойдёт так называемая управляющая или escape-последовательность, которая начинается с обратной косой черты. Мы будем использовать специальный символ \0
, обозначающий нулевой символ (NUL).
Функции car
и cdr
должны получить содержимое строки до и после разделителя соответственно.
Управляющая последовательность воспринимается интерпретатором как одиночный символ, т.е. имеет длину, равную 1.
Обязательным условием является отсутствие данного символа в строках, которые объединяются в пару.
pairs.py
Реализуйте и экспортируйте следующие функции в соответствии с алгоритмом выше:
cons
car
cdr
Пример
pair = cons('computer', 'science')
'computer\0science'
car(pair) # 'computer'
cdr(pair) # 'science'
Подсказки
- Для подсчёта длины строки используйте встроенную функцию
len()
.
Для полного доступа к испытанию нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.