【发布时间】:2015-04-02 10:50:28
【问题描述】:
我将如何在 Lisp 中编写乐透代码,其中用户随机生成 1-45 之间的 6 个数字(非重复),然后输入他们自己选择的乐透数字以查看它们是否匹配,然后告诉他们是否匹配'赢了没?
(defun shuffle (list)
(let ((len (length list)))
(loop repeat len
do (rotatef (nth (random len) list)
(nth (random len) list))
finally (return list))))
(defun lottery ()
(sort (subseq (shuffle (loop for i from 1 to 49 collect i))
0 6)
#'<))
(lottery)
(代码实际上取自这个问题的其他作者:Get numbers for the lottery)
这会输出我需要的随机数,但我在获取 6 个数字的用户输入并将它们与这些数字进行比较以查看它们是否“获胜”时遇到了很多麻烦。
【问题讨论】:
-
请将代码缩进 4 个空格。
-
欢迎您!我已经编辑了你的帖子。正如@Carcigenicate 指出的那样,您可以通过缩进4 个空格来获取
code markdown中的代码。您可能想为代码添加更多格式 - 只需确保每行代码都缩进 4 个空格。祝你好运! -
看起来你从另一个问题中获取了代码。
-
看起来您从另一个问题的答案中获取了代码,未能读取纠正有缺陷的随机播放的 cmets,并将其包装成一个琐碎的“如何用这个编写程序”问题。跨度>
标签: lisp common-lisp