我正在寻找一个Python函数,该函数将模仿c中rand()(和srand())的行为,并具有以下要求:
我可以在srand()的Python中提供相同的纪元时间来播种该函数 如果为rand()%256提供了相同的种子,则其等效的char值应与c中的字符值相同。 到目前为止,我已经考虑了随机库和numpy的随机库。尽管C都提供了0到32767的随机数,但是它们的随机函数都产生了0到1的浮点数。尝试random.randint(0,32767)时,与在C函数中产生的结果不同。
TL; DR Python中是否存在遵循与C相同的随机序列的现有函数/库?
您可以使用random.seed()。以下示例应在每次运行时打印相同的序列:
import random
random.seed(42)
for _ in range(10):
print(random.randint(0, 32768))
更新:刚刚看到了OP的最后评论。不,由于其他注释中给出的原因,该代码不会为您提供与C代码相同的序列。两种不同的C实现也不相同。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。