Common Lisp 中的(随机)不那么随机?

2024-04-02

好的,最后一个问题,我将用 Common Lisp 完成我的猜数游戏! :D 每当游戏开始(或者在第一个游戏之后开始新游戏)时,都会调用以下函数。

;;; Play the game
(defun play ()
    ;; If it's their first time playing this session,
    ;; make sure to greet the user.
    (unless (> *number-of-guesses* 0)
        (welcome-user))
    ;; Reset their remaining guesses
    (setq *number-of-guesses* 0)
    ;; Set the target value
    (setq *target*
        ;; Random can return float values,
        ;; so we must round the result to get
        ;; an integer value.
        (round
            ;; Add one to the result, because
            ;; (random 100) yields a number between
            ;; 0 and 99, whereas we want a number
            ;; from 1 to 100 inclusive.
            (+ (random 100) 1)))
    (if (eql (prompt-for-guess) t)
        (play)
        (quit)))

所以据说,每次玩家开始游戏时,*target*应设置为 1-100 之间的新随机整数。然而,每一次,*target*默认为 82。我该如何制作(random)随机行动?


您需要在程序开始时播种随机状态。

(setf *random-state* (make-random-state t))
;; # this initializes the global random state by
;;   "some means" (e.g. current time.)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Common Lisp 中的(随机)不那么随机? 的相关文章

  • 有没有一种简单的方法可以使用 Common Lisp 中的 Python 库?

    在编写 Common Lisp 代码时我真正怀念的一件事是访问 Python 库 包括标准库和第三方模块 CLPython 提供了 Python 功能的有限子集 这阻止了大多数库的使用 因此这对我来说并不是很有用 我希望能够从 Common
  • C++11:如何使用 设置种子

    我正在练习随机库 这是 C 11 的新功能 我编写了以下最小程序 include
  • 如何生成唯一的 6 位数代码

    我想生成 6 位唯一代码 但我希望前 3 个是字母 后 3 个是数字 如下例所示 AAA111 ABD156 DFG589 ERF542 请帮助使用上述组合创建代码 下面是我的代码 public function generateRando
  • data.table 样本,概率存储在列中

    我有一个数据表 其中存储在列中的离散分布的概率 例如 dt lt data table p1 c 0 5 0 25 0 1 p2 c 0 25 0 5 0 1 p3 c 0 25 0 25 0 8 我想创建一个新的随机变量列 使用同一行中的
  • Arc4随机模偏置

    根据本文档 https developer apple com library mac documentation darwin reference manpages man3 arc4random 3 html arc4random un
  • 在php中生成随机字符串作为文件名[重复]

    这个问题在这里已经有答案了 我将如何创建与文件名一起使用的随机文本字符串 我正在上传照片并在完成后重命名它们 所有照片都将存储在一个目录中 因此它们的文件名必须是唯一的 有这样做的标准方法吗 有没有办法在尝试覆盖之前检查文件名是否已经存在
  • Javascript 随机 YouTube 视频自动播放

    我需要在页面加载时显示所选内容中的随机 YouTube 视频 我发现下面的问题非常有帮助 但我不知道如何让它自动播放 我尝试过添加 自动播放 1 在 videos index 之后 但我无法让它工作 不知道我是否把它放在错误的地方 任何帮助
  • Applescript:修剪空格和回车线

    我编写了一个 AppleScript 它从用逗号分隔的文本文件中返回一个随机字符串 set some file to Macintosh HD Users Zade Library Application Support Notationa
  • `/dev/urandom` 适合模拟目的吗?

    似乎在类 Unix 系统中使用纯 C fread from dev urandom是提取高质量随机字节的最简单方法 我需要运行一个每秒需要大约 10k 32 位随机数的模拟 并且可能会运行几天 是 dev urandom可以用于此目的吗 当
  • MySQL ORDER BY rand(),名称 ASC

    我想获取一个包含 1000 个用户的数据库并随机选择 20 个用户 ORDER BY rand LIMIT 20 然后按名称对结果集进行排序 我想出了以下查询not像我希望的那样工作 SELECT FROM users WHERE 1 OR
  • PHP 生成唯一的字符串

    我在表中有一个 ID 列 用于存储行 ID 号 自动递增 例如 1 2 3 我想生成一个随机且唯一的字符串 该字符串只能包含数字 字母 破折号 和下划线 字符串长度为4 6 且唯一 有人可以帮我如何生成吗 谢谢 使用这个 base conv
  • windows下无法用emacs + sbcl启动slime

    我想配置我的 emacs 以使用 SLIME 和 SBCL emacs 文件如下所示 add to list load path D app slime setq inferior lisp program sbcl require sli
  • Lisp 格式和强制输出

    我不明白为什么这段代码在不同的实现中表现不同 format t asdf setq var read 在 CLISP 中 它的行为与预期一致 先打印提示 然后读取 但在 SBCL 中 它显示 then输出 我在网上查了一下 修改了一下 fo
  • Scheme/Lisp 嵌套循环和递归

    我正在尝试解决方案中的一个问题 该问题要求我使用嵌套循环或嵌套递归 例如我有两个列表 我必须检查它们的笛卡尔积的条件 解决这些类型问题的最佳方法是什么 有关如何简化这些类型的函数的任何指示吗 I ll elaborate a bit sin
  • Random 并行生成数字 1 的次数超过 90% [重复]

    这个问题在这里已经有答案了 考虑以下程序 public class Program private static Random rnd new Random private static readonly int ITERATIONS 50
  • Python - randrange() 的空范围 (0,0, 0) 和 ValueError("randrange() 的空范围 (%d,%d, %d)" % (istart, istop, width))

    当我运行这个程序时 python 3 3 1 import random import time from random import randrange print print I am thinking of a person time
  • time() 会返回相同的输出吗?

    当用户注册时 我正在为 PHP 中的用户生成令牌 我想知道两个用户是否可以获得相同的令牌 因为这会破坏系统 请让我知道这是否足够 token md5 rand time 编辑 我现在正在使用我在另一个问题上找到的generate uuid
  • 可重复的随机数系列

    如何在 PHP 中获得一系列可重复的伪随机数 在旧版本的 PHP 中 我只需在RNG http en wikipedia org wiki Random number generation 但它不再起作用了 因为 PHP 改变了 rand
  • scipy.stats....rvs 和 numpy.random 随机抽取之间的区别

    看起来是否是相同的分布 从中抽取随机样本numpy random比这样做更快scipy stats rvs 我想知道是什么原因导致两者之间的速度差异 scipy stats uniform实际上使用了numpy 这里是stats中对应的函数
  • 使用 Easy 68K (68000) 组装范围内的随机数

    我正在使用 Easy 68K 模拟器创建一个简单的黑杰克游戏 需要使用随机数来分配牌 我的牌必须在 2 到 11 的范围内 我似乎每次都得到相同的数字 但它不在我预期的范围内 我的卡值需要以 D3 结束 因此我有以下随机数代码 CLR L

随机推荐

  • 我们可以加密android中的文件夹吗?

    其实我是安卓新手 我们可以加密一个文件夹吗 包含 SD 卡中的子文件夹和文件并将其解密回来 任何帮助将不胜感激 谢谢 您对 Java 的总体了解程度如何 您可以使用所有javax security and javax crypto类 如Ci
  • 保留对每个用户连接的套接字的引用

    我 为了清楚起见 聊了聊 用户可以登录 写消息 其他人会看到 name message 我不想每次写的时候都发送用户名和IDsocket emit say message 因为这是多余的 所以我在服务器上做的事情如下 var io requ
  • Qt 忽略 makefile、.pro.user 文件

    我开发基于 Qt 的项目并使用 Mercurial 存储库 bitbucket org 服务 进行版本控制 每次我在存储库中提交时 都会有一些文件仅包含标头中的日期时间更改 因此 每次提交我都应该检查每个文件是否有重大更改 而不仅仅是时间戳
  • Mongoose / MongoDB - 在一条指令中更新具有不同 _id 和值的多个文档

    我正在寻找一种在一条指令中更新多个 MongoDB 文档的方法 我知道有一个 updateMany 查询 但它需要严格的过滤参数才能更新多个文档 我有一组想要更新的对象 如下所示 const objectsToUpdate id 1 fie
  • Angular 6:如何访问 mat-autocomplete 下拉列表中的所有选项值?

    给出 Angular 文档中的示例你可以在这里看到 https material angular io components autocomplete overview setting separate control and displa
  • 对仅包含 a-z 和空格的单词数组进行排序的最快方法是什么?

    我想知道是否有比快速排序 合并排序更快的方法来对此类数组进行排序 数组的最大长度为 10 6 单词的长度 gt 10 且 您可以将所有单词放在一个trie http en wikipedia org wiki Trie or a 基数树 h
  • 缺少值组合的完整数据框

    我有一个包含两个因素的数据框 distance 和年份 years 我想完成所有years每个因子的值均除以 0 即由此而来 distance years area 1 NPR 3 10 2 NPR 4 20 3 NPR 7 30 4 10
  • 如何清除Java 9 JShell控制台?

    我没有找到任何清除 Java 9 JShell 控制台的命令 我也尝试通过这个程序清除JShell控制台 但它也不起作用 import java io IOException class CLS public static void mai
  • Android - 如何从 kotlin 流中读取值?

    我有来自房间数据库的剧集流程 我可以毫无问题地观察该流程的实时数据 但我还想在用户单击按钮时读取此流程中的最后一个值 我尝试使用first 终端流运算符 但它无法编译 您能帮忙或提出其他建议吗 非编译尝试从流中读取 bd buttonNex
  • 将上下文传递给自定义挂钩或在自定义挂钩内调用 useContext 更好吗?

    我有越来越多的自定义挂钩 其中许多通过以下方式访问相同的反应上下文useContext钩 在许多组件中 需要使用多个自定义挂钩 打电话比较好吗useContext每个组件一次并将上下文传递到我的自定义挂钩中 还是最好调用useContext
  • 如何删除/取消注册 GitLab 运行程序

    几个月前我注册了一个个人 GitLab 运行器 但我不再使用它 如何完全删除它 使其不会显示在我的 GitLab CI CD 设置页面上 列出跑步者以获取他们的令牌和 URL sudo gitlab runner list 使用指定运行者令
  • Android 10.0 应用程序在 BOOT 上启动

    我们有一个 Android 应用程序 我们打算在手机启动期间启动 启动 通过在 Android 10 中尝试一些代码 我们意识到在 Android 8 0 之后无法在启动时启动应用程序 以前在 Android 6 中 这是可能的 即使在物理
  • Heroku Dynos 是否享受 AWS 网络内的免费数据传输?

    我正在考虑将 Heroku 用于 NodeJS 应用程序 我想知道他们的 Dynos 是否享受 AWS 网络内的免费内部数据传输 我想使用 DynamoDB ElastiCache RDS SQS 和许多其他 AWS 产品 如果我可以从 H
  • 如何使用 OpenXML 查找段落中的页码?

    For a 段落对象 如何使用 Open XML SDK 2 0 for Microsoft Office 确定该对象位于哪个页面 使用以下方法无法获取 Word 文档的页码OpanXml Sdk因为这是由客户端处理的 例如 MS Word
  • 推送 UIView 时隐藏 UITabBar

    我有一个UITabBarController其中默认视图控制器是UINavigationController 当我在视图中推送某个视图时 我希望能够隐藏 UITabBarController 的 UITabBarUINavigationCo
  • 如何获取任务的结果或返回值?

    有人可以向我解释如何返回任务的结果吗 我目前正在尝试执行以下操作 但我的任务没有返回我期望的列表 这里有什么问题 static void Main List
  • 无法读取 null 的属性“props” - Reactjs [重复]

    这个问题在这里已经有答案了 基本上我想在子组件中调用父组件的函数 该函数将更改父组件的状态 我在父组件中创建了一个处理程序并将其作为道具传递给子组件 现在我想在子组件中调用它 Parent state formstep 1 construc
  • 如何覆盖 laravel 资源路由默认方法?

    我的 REST API url 具有以下架构 Verb Url Method GET tasks findAll GET tasks id findOne POST tasks create PUT tasks id update DELE
  • 读取行期间的 Source.fromInputStream 异常处理

    我创建了一个函数 其中接受输入流作为参数并返回由字符串组成的迭代器 我按如下方式完成此操作 def lineEntry fileInputStream InputStream Iterator String Source fromInput
  • Common Lisp 中的(随机)不那么随机?

    好的 最后一个问题 我将用 Common Lisp 完成我的猜数游戏 D 每当游戏开始 或者在第一个游戏之后开始新游戏 时 都会调用以下函数 Play the game defun play If it s their first time