MicroPython中的random看起来有什么作用吗?

MicroPython中的random看起来有什么作用吗?,random,micropython,pybricks-micropython,Random,Micropython,Pybricks Micropython,使用pypython 在CPython下运行此命令以获取随机端口号 import random port = random.randint(50000,50999) 生成一个数字,但它几乎不是随机的,每次运行脚本时都是相同的数字。我猜MicroPython可能需要更多的东西 我错过了什么?约翰 我用随机数查找种子,并用大纪元时间。解决了 millis = int(round(time.time()) random.seed(millis) port = random.randint(50000

使用pypython

在CPython下运行此命令以获取随机端口号

import random
port = random.randint(50000,50999)
生成一个数字,但它几乎不是随机的,每次运行脚本时都是相同的数字。我猜MicroPython可能需要更多的东西

我错过了什么?

约翰

我用随机数查找种子,并用大纪元时间。解决了

millis = int(round(time.time())
random.seed(millis)
port = random.randint(50000,50999)
好的,几乎可以肯定会产生一个你可以预测的随机数,但嘿,这不是彩票或其他东西,而是端口号:)


谢谢你,你是这个答案的种子,请原谅这个双关语。

也许micropython不同于CPython,需要你设定种子?文档中没有建议您需要这样做,但是您描述的行为是每次都以相同的默认状态启动的RNG。这描述了一个不需要重新播种的随机模块,但是pybricks micropython似乎没有足够的文档记录。我找不到任何提到随机模块的在线文档。你能提供相关文档的链接吗?
pybricks-micropython
本身的标签没有任何信息。乐高正在推广的是micropython的一个版本。这里是他们新闻稿和文档的链接。关于这个链接(我已经看过)没有任何关于ev3 micropython和random的内容。也许有一种方法可以从内部时钟中提取种子。我很高兴你找到了解决办法。Python+Lego似乎是一个很棒的组合!约翰,你是乐高巨蟒人吗。我这样问是因为我正在为我编写的一个应用程序寻找一些beta测试人员,该应用程序部分使用Python。我今天以前从未听说过它(尽管我对mindstorms很熟悉),但我有时教编程,并且经常寻找一些好的例子。也许我会在下一学年之前投资一个基本的工具包。我只玩了几个月,下个月就得到了一份教机器人和编码的工作。这很有趣。但你知道,我认为苹果的spriteKit确实是你应该研究的方向。这并不难,我相信这对学生来说很容易。看看这个