Извлечение чисел из списка - Lisp

Узнай цену своей работы

Формулировка задачи:

Описать функцию, которая создавала бы список только из числовых элементов списка–аргумента, учитывая элементы подсписков. Например, результатом применения функции к аргументу ’(a 1 (b 4 c 5 (2 d 7)) e) должен быть список ’(1 4 5 2 7).

Решение задачи: «Извлечение чисел из списка»

textual
Листинг программы
(defun task (lst)
  (cond ((null lst) nil)
        ((listp (car lst)) (append (task (car lst)) (task (cdr lst))))
        ((numberp (car lst)) (cons (car lst) (task (cdr lst))))
        (t (task (cdr lst)))))
 
==> TASK
 
(task '(a 1 (b 4 c 5 (2 d 7)) e))
 
==> (1 4 5 2 7)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.889 из 5
Похожие ответы