Dieser Code teilt eine Liste in zwei gleich große Listen:Schläger, eine Liste in zwei verschiedenen Größen Listen aufgeteilt
(define (split ls)
(if (or (null? ls) (null? (cdr ls)))
(list ls '())
(let ((next (split (cddr ls))))
(list (cons (car ls) (car next))
(cons (cadr ls) (cadr next))))))
Ich möchte einen Code erstellen (define (split Größe ls)), wobei Größe a hat Wert, zum Beispiel: 0.20, 0.50, 0.63 und es ist die Zahl (in%), die zur ersten Liste gehen wird.
Ist es wichtig, dass die Aufspaltung in einer deterministischen, alternierenden Reihenfolge wie in "Split" erfolgt? Gibt es Anforderungen, wie die Funktion die Zahl rundet, wenn sie nicht exakt erreicht werden kann? –
Nein, es ist nicht wichtig, wie die Zahl gerundet wird, wenn sie nicht genau erreicht werden kann. Nun, da ich das Beispiel habe, die Reihenfolge zu teilen, möchte ich ein anderes Beispiel haben, wo die Elemente zufällig an jede Liste gesendet werden. Die resultierende Liste wird also immer anders sein. –