2016-11-16 9 views
0

私はラケットのランダム関数についての基礎を知っていますが、もっと難しいことをしようとしています。ラケットのランダム関数(より複雑な)

私はパラメータとして関数に与えるリストの要素をランダムに与えるランダム関数を開発しようとしています。例:

‘(a h j l u) -> Output: h 

‘(w t) -> Output: w 

‘(l u t n) -> Output: t 

助けを歓迎します。

答えて

1

は非空のリストを仮定し、組込みプロシージャを使用して、一つの選択肢だ

(pick-random '(1 2 3 4 5)) 
=> 3 
1

最初にリストの長さを取得するには、(random len)を入力して数字[0,len-1]を取得し、それをlist-refと入力して要素を取得します。

(define (pick-random lst) 
    (first (shuffle lst))) 

例えば:ここで

関連する問題