0
我知道关于球拍中随机功能的基本知识,但我正在尝试做更难的事情。球拍中的随机功能(更复杂)
我想开发一个随机函数,它给出了函数作为参数的随机列表元素。例如:
‘(a h j l u) -> Output: h
‘(w t) -> Output: w
‘(l u t n) -> Output: t
任何帮助,欢迎。
我知道关于球拍中随机功能的基本知识,但我正在尝试做更难的事情。球拍中的随机功能(更复杂)
我想开发一个随机函数,它给出了函数作为参数的随机列表元素。例如:
‘(a h j l u) -> Output: h
‘(w t) -> Output: w
‘(l u t n) -> Output: t
任何帮助,欢迎。
这里有一个选项,假设一个非空列表,使用内置的程序:
(define (pick-random lst)
(first (shuffle lst)))
例如:
(pick-random '(1 2 3 4 5))
=> 3
一种方法是首先得到列表的长度,做(random len)
得到一个数字[0,len-1]
并使用list-ref
来获取元素。