Ich möchte die geraden Einträge in einer Liste hinzufügen und habe den folgenden Algorithmus, den ich geschrieben habe, um das Ziel zu erreichen.Fügen Sie gerade Einträge in der Liste hinzu.
Der Fehler Ich erhalte ist:
+: erwartet < Nummer> als 2. Argument eingeben, gegeben: # < Leere>; andere Argumente waren: 4
Der Code:
(define (mylength alist cnt)
(if (null? alist)
0
(if (= (modulo cnt 2) 0)(+ (car alist) (mylength (cdr alist) (+ cnt 1)))))
(if (= (modulo cnt 2) 1)(mylength (cdr alist) (+ cnt 1))))
Können Sie raten Sie bitte auf den i) Fehler ii) Logik des Algorithmus
Dank!
danke erjiang. Ich bekomme nicht den Teil, wo du gesagt hast "alles, was nicht der letzte Ausdruck ist, wird weggerannt und weggeworfen". Können Sie das bitte näher ausführen? – Roy
sehe meine Bearbeitung auf die Antwort – erjiang