- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我是 c 的初学者。 Lisp,实际上我的第一个代码有一些问题。主题是带有随机数的“骰子游戏”。如果你得到两个 1 你赢了,如果你得到两个 6 你也赢了。
首先我写了这段代码:
(defun dice ()
(+ (random 6) 1))
(defun dicegame (dice dice)
(and (and (or
(equal (print (dice)) 1)
(equal (print (dice)) 6))
(or
(equal (print (dice)) 1)
(equal (print (dice)) 6)))
(or (equal (print (dice)) (print (dice))))))
(dicegame (dice) (dice))
它不工作。我得到的结果有 6 个数字是零,我得到的结果是 for ex。 3 5 4 5 3 4 这是正确的。我不明白。
比起我写了一个正在运行的新的:
(defun dicegame-s (dice dice)
(or (and (equalp (print (dice)) 1)
(equalp (print(dice)) 1))
(and (equalp (print(dice)) 6)
(equalp (print(dice)) 6))))
我的问题是:为什么第一个不起作用而第二个起作用。
谢谢!
最佳答案
首先,dicegame-s
不是真正 工作。您的代码存在一些问题:
dicegame
函数的所有参数都具有完全相同的名称这应该会使代码解析失败。您可以将它们命名为 (dice-1 dice-2)
。
在您的函数中,您使用(dice)
,这是一个函数调用。因此,您无需使用赋予函数的值,而是每次都掷一个新的骰子!
因此,当您编写 (dicegame (dice) (dice))
时,就是您掷骰子的时候;该函数仅检查值,并告诉您是否赢了。
打印
太多了print
函数打印一个值并返回它;这就是为什么有时 dicegame
有多达 6 个值的原因,因为每个 (print (dice))
都会写入其输出。事实上,即使在 dicegame-s
中,如果两个骰子都是 6,也会打印 3 个结果。
与其每次都调用 print
,不如调用一次——在函数的开头或结尾,或者函数之外的某个地方。
要纠正之前的错误,您可以这样做:
(defun dicegame (dice-1 dice-2)
(or (and (equalp dice-1 1)
(equalp dice-2 1))
(and (equalp dice-1 6)
(equalp dice-2 6))))
(dicegame (print (dice)) (print (dice)))
关于random - Common Lisp 随机骰子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46800375/
在分析代码时,我偶然发现了以下代码段: msk = np.random.rand(len(df)) < 0.8 变量“msk”和“df”与我的问题无关。经过一些研究,我认为这种用法也与“随机”类有关。
出于几个合理的原因,我必须使用 BSD 的 random() 来生成非常大量的随机数,并且由于它的周期很短(~2^69,如果我没记错的话),这些数字的质量会降低对于我的用例来说很快。我可以使用我可以访
每种语言都有一个 random() 函数或类似的东西来生成伪随机数。我想知道下面会发生什么来生成这些数字?我没有编写任何需要这些知识的东西,只是想满足我自己的好奇心。 最佳答案 唐纳德·克努斯开创性的
我开发了一个简单的应用程序来生成测试数据系列,并且我使用随机种子将其构建为能够重复。我注意到以下情况并想知道为什么会这样: >>> random.seed(1) >>> [random.randint
random() * random() 和 random() ** 2 有区别吗? random() 从均匀分布中返回一个介于 0 和 1 之间的值。 在测试两个版本的随机平方数时,我注意到了一点不同
我发现 Python(及其生态系统)充满了奇怪的约定和不一致,这是另一个例子: np.random.rand Create an array of the given shape and popula
我想看看哪个随机数生成器包在我的神经网络中速度更快。 我目前正在从github上修改一段代码,其中numpy.random和random包都用于生成随机整数、随机选择、随机样本等。 我更改此代码的原因
我有一个 Python 大脚本。我在其他人的代码中启发了自己,所以我最终使用 numpy.random 模块来做一些事情(例如创建一个从二项分布中获取的随机数数组),在其他地方我使用模块 random
仅仅是因为“大型 API 综合症”还是生成在某些情况下更偏向的随机数?如果是……我认为控制偏见很重要。 最佳答案 他们是一样的,真的。只是一个方便的方法。检查 javadoc here .此外,您
我只是观察到,当使用 Python3 时,使用 random.shuffle 对列表进行洗牌需要大约一半的运行时间,而当为 显式提交函数 random.random >random 关键字参数。我检查
在python中随机模块,random.uniform()和random.random()有什么区别?它们都生成伪随机数,random.uniform() 生成均匀分布的数字,random.rando
是否可以在JMeter中生成“随机数”变量? 我已经记录了用户旅程 我已将旅程导入JMeter 我必须在用户旅程测试用例中输入一个唯一的4位数ID 在jmeter的当前默认值为2323 有没有一种方法
例如,如果我执行命令两次:ffmpeg -i input.mp4 -vf geq=r='random(1)*255':g='random(1)*255':b='random(1)*255' -stri
尽管随机生成器只创建一次,但输出始终是相同的随机结果(对于所有三个测试输出)。 来自稍大脚本的测试片段: let myRandGen = System.Random() let getRa
我正计划使用IntRange.random()(即(0..9999).random())在 Kotlin 中生成一个随机的5位代码。重要的是,恶意人员不能预测将要生成的数字的顺序。 IntRange.
您能否告诉我如何将 KDB 中的随机数生成器种子设置为或多或少的“随机”数? 我正在尝试执行以下操作: \S .z.i 但不知何故它不起作用。\S 似乎需要一个显式整数,而不是一个变量。 非常感谢!
我需要同时获得 /dev/random和 /dev/urandom在内核模块中。 get_random_bytes提供获取 /dev/urandom 的 API . 但是/dev/random 没有A
random.shuffle(lst_shuffle, random.random) 我知道后一部分是可选参数。但它究竟做了什么。我不明白这是什么意思。 这是来自文档。 random.random()
在树莓派 3 上: >>> import random >>> random.seed(0.9849899567458751) >>> random.random() 0.47871160253065
说我有一些python代码: import random r=random.random() r的值通常从哪里来? 如果我的操作系统没有随机数,那么它将在何处播种呢? 为什么不建议将其用于加密?有什么
我是一名优秀的程序员,十分优秀!