0

リストを受け取り、元のリストの交互の要素を持つ 2 つのリストのリストに評価される unzip という関数を作成しようとしています。

これまでのところ、これは私が持っているものです:

(define (unzip lst)
    (if (null? lst)
        '()
        (...

これがどのように機能するかです:

(unzip '(1 a 2 b 3 c)) は ((1 2 3) (abc)) と評価される必要があります

4

1 に答える 1

1

あなたが持っているものは間違った軌道に乗っています、ごめんなさい。(空の入力が与えられた場合の結果を考えてください。)最後の質問に対する私の答えと同様に、スケルトンソリューションは次のとおりです。

(define (unzip l)
  (if (null? l) ???
      (let ([next (unzip ???)])
        (list (cons ??? ???) ???))))

s を適切に入力し???ます。(はい、私のソリューションはテスト済みで、奇数入力と偶数入力の両方で機能します。)

于 2012-10-03T06:00:33.777 に答える