好吧,我真的很糟糕的计划,我一直在卡住这个功能(看它是一个非常简单的修复)。我想写一个关于列表输入是否是一个包的函数(一个包是元组中的第一个数字是值的第二个数字是一个元组列表,而且每个值都不应该重复并从最小到最大排序)。这是我有...语法可能是太可怕了......方案函数元组检查
(define (bag? qbag)
(cond ((null? qbag) #t)
(if(eqv? (pair? (car qbag)) #t)
(baghelp (cdr qbag) (car(car qbag))))
(else (#f))))
(define (baghelp qbag x)
(cond((null? qbag) #t)
(if(and(if (eqv? (pair? (car qbag)) #t))
(if (< x (car(car qbag)))))
(baghelp (cdr qbag) (car(car qbag)))
(else(#f)))))
样本输入输出:
(bag? '((0 1)))
#f
(bag? '())
#t
(bag? '10)
#f
(bag? '((5 2) (4 3)))
#f
(bag? '((5 2) (7 3)))
#t
(bag? '((5 1 0)))
#f
(bag? '((5 5) (5 2)))
#f
您可以添加示例输入和输出吗? – uselpa
请使用正确的缩进。如果没有它,就无法阅读类似lisp的语言的代码.... –
@KarolyHorvath s/without it //'FIFY lol j/k/s –