我正在尝试编写一个计划程序,它将标记列表作为输入,并将输出作为等级列表。
我得到了这个,...我不知道什么是错的我得到一个错误,object()作为第一个参数传递到cdr不是正确的类型....
这是代码
(define (grades list1)
(cons (cond ((= (car list1) 100) 'S)
((= (car list1) 90) 'A))
(cons (grades (cdr list1)) '())))
答案 0 :(得分:5)
您错过了递归的基本案例。当参数为空列表时,您希望grades
函数如何表现?这需要一个外部cond
,测试是列表是空的并返回适当的内容。
答案 1 :(得分:0)
(define (grades list1)
(cond((null? list1) `())
(else(cons (cond ((= (car list1) 100) 'S)
((= (car list1) 90) 'A))
(grades (cdr list1))))))