Random 为公共lisp生成一定范围内的随机数

Random 为公共lisp生成一定范围内的随机数,random,common-lisp,Random,Common Lisp,我正在做一些家庭作业,其中一部分我必须生成10-80范围内的随机数。我知道(随机80)将返回一个小于80的数字,但如何使其也大于10?高级感谢。提示:(+1(随机80))将为您提供一个介于1和80之间的数字。提示:(+1(随机80))将为您提供介于1和80之间的数字。此代码将为您提供10到80之间的随机数字: (+ 10 (random 71)) 更好的做法是,尝试以下通用公式: (defun random-from-range (start end) (+ start (random (

我正在做一些家庭作业,其中一部分我必须生成10-80范围内的随机数。我知道(随机80)将返回一个小于80的数字,但如何使其也大于10?高级感谢。

提示:(+1(随机80))将为您提供一个介于1和80之间的数字。

提示:(+1(随机80))将为您提供介于1和80之间的数字。

此代码将为您提供10到80之间的随机数字:

(+ 10 (random 71))
更好的做法是,尝试以下通用公式:

(defun random-from-range (start end)
  (+ start (random (+ 1 (- end start)))))

此代码将为您提供10到80之间的随机数:

(+ 10 (random 71))
更好的做法是,尝试以下通用公式:

(defun random-from-range (start end)
  (+ start (random (+ 1 (- end start)))))

谢谢你的帮助,但是当我尝试(+10(随机80))时,我会得到上面的值80@Thomas:所以你有一个介于0和69之间的随机数。如何将其转换为10到80(含10和80)之间的随机数?通过添加…@Thomas:我试图给你一个提示,让你自己弄清楚细节:-)下一个提示:(+10(随机10))将返回10到19的值:)谢谢你的帮助,但当我尝试(+10(随机80))时,我会得到上面的值80@Thomas:所以你有一个介于0和69之间的随机数。如何将其转换为10到80(含10和80)之间的随机数?通过添加…@Thomas:我试图给出一个提示,让您自己了解细节:-)下一个提示:(+10(随机10))将返回10到19的值:)