首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

SCHEME语言解决办法

2013-07-11 
SCHEME语言问题描述:把一个长度列表的原子一一取出。(1)如果是空列表 直接返回空列表 例如:输入’() 输出()(

SCHEME语言
问题描述:把一个长度列表的原子一一取出。
(1)如果是空列表 直接返回空列表 例如:输入’() 输出()
(2)如果列表里面的都是原子表示的则直接返回该列表。例如输入'(0 1 2 3) 输出(0 1 2)
(3)如果列表里又有列表,则把列表一一分解。例如输入'((1 2) 3 4) 输出 (1 2 3 4)

(define (flaff listNumber)
  (cond (((null? listNumber) '())
         ((list? (car listNumber))
          (append (flaff(car listNumber))
                  (flaff(cdr listNumber))))
         (else (cons (car listNumber)
                     (flaff (cdr listNumber)))))))
这个例子总是报错误:
 else: not allowed as an expression in: (else (cons (car listNumber) (flaff (cdr listNumber))))

刚刚开始学希望高手告诉下怎么改正
[解决办法]
括号的地方不对。

(define (flaff listNumber)
  (cond
   ((null? listNumber) '())
   ((list? (car listNumber))
    (append (flaff(car listNumber))
            (flaff(cdr listNumber))))
   (else (cons (car listNumber)
               (flaff (cdr listNumber))))))

热点排行