如何确定列表是否在普通 lisp 中按升序排序?我在正确的轨道上吗?
(defun is-sorted (lst)
(cond
((null lst ) T)
((<= car lst (lst cdr lst)))
((is-sorted (cdr lst) nil))))
(print (is-sorted '(1 2 3 4 5 6 7)))
Run Code Online (Sandbox Code Playgroud) 我试图检查一个单词是否是列表的元素.然后它不会将单词添加到列表的前面,但是如果它将该单词移动到列表的前面.我可以将单词添加到列表中,如果它还没有,但我不知道如果它已经在列表中,如何将元素移动到列表的前面.这是我的代码:
(defun movetofront (word lst)
(cond
((member word lst)
(remove word lst))
(T (cons word lst))))
Run Code Online (Sandbox Code Playgroud) 我的程序中有两个函数.注释掉的那个将列表中的每个元素修改为五.第二个函数计算元素在列表中出现的次数.如何将这两者结合起来得到我想要的结果,以确定列表中有多少元素可以被5整除?
这是我的代码:
(defun divide-bye-five (lst)
(loop for x in lst collect (mod x 5)))
(defun counter (a lst)
(cond ((null lst) 0)
((equal a (car lst)) (+ 1 (counter a (cdr lst))))
(t (counter a (cdr lst)))))
(counter '0 '(0 0 0 20 0 0 0 0 0 5 31))
Run Code Online (Sandbox Code Playgroud) 我已经下载了ghostScript和gsview,并且想知道如何在记事本中编写程序并使用命令行对其进行解释?任何帮助将非常感激。