gpt4 book ai didi

Racket 中的随机函数

转载 作者:行者123 更新时间:2023-12-02 00:50:05 26 4
gpt4 key购买 nike

你好,我有这个随机生成的函数:a、b、c 或 d。

(define random-abcd
(let ([n (random 4)])
(cond [(equal? n 0) 'A]
[(equal? n 1) 'B]
[(equal? n 2) 'C]
[else 'D])))

这意味着我有 4 个可能的随机输出。但我想构建一个递归函数,它在我作为参数给出的数字之间提供输出。

例如:

random-my 3 -> 给出和输出之间:a b 或 c

random-my 5 -> 给出和输出之间:a b c d 或 e

谢谢!

最佳答案

你可以传递一个数字 n 并且你可以执行 (random n) 来获得 范围内的随机数 r [0,n>。现在 #\a 的字符数是 97 所以如果你这样做 (integer->char (+ 97 r)) 你会得到 #\a 代表 0#\b 代表 1,...

你可以用 (list->string (list #\a)) 得到一个字符串; ===> "a".

你可以用 (string->symbol "a") 得到一个符号; ==>一个

我留给你把它们放在一起,但它不是递归的。

关于Racket 中的随机函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40566422/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com