使用公共api在python中提供几个随机性源

randomness的Python项目详细描述


python的随机源

当前功能

  • 随机源的统一api
  • 系统真正随机性生成器的API访问
  • 可供选择的随机性提供者列表
  • 可筛选的提供商标志

计划功能

  • 随机性质量综合测试(Diehard,ent,…)
  • 更多prngs(wichmann hill,xorshift,…)
  • 更多trng(通过挂锁rng、外部硬件等)
  • 更好的API来筛选和排序提供程序
  • 在浪费和保留使用随机位之间进行选择, 后者最有可能是Mixin
  • 为所有随机源提供numpy api的适配器, 最有可能通过Mixin

用法

你可以直接实例化一个随机源,如果你知道它在那里的话。 (或者,如果您处理的异常不是这样的话):

fromrandomnessimportURandomtry:fromrandomnessimportRandomexceptImportError:passrandom=URandom()

或者您可以仔细阅读提供者列表并从中选择一个 (可能先过滤列表):

fromrandomnessimportPROVIDERS,ProviderFlag# filter randomness providersmy_providers=[providerforproviderinPROVIDERSifprovider.flags&ProviderFlag.NEVER_BLOCKING]# dump provider namesforproviderinmy_providers:print(provider.name)# instantiate a randomness contextchosen_provider=my_providers[0]random=chosen_provider.cls()

从这一点上讲,向前的用法与您所做的相同 from random import Random; random = Random()

# perform a die rolldie_result=random.randint(1,6)print(die_result)# select a random cheeseCHEESE_SHOP_PRODUCTS=["Tilsit","Cheddar","Roquefort","Gouda"]cheese=random.choice(CHEESE_SHOP_PRODUCTS)print(cheese)# draw lottery numbersamount_of_numbers=49amount_to_draw=6series=random.sample(range(1,amount_of_numbers+1),amount_to_draw)print(series)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
spring使用Java n的简单日志外观作为SpringBoot应用程序   带EJB的java JPA:无持久性提供程序   java为什么程序在第二行和第三行打印不正确?   java如何配置RESTURI以响应此uri   需要在Selenium IDE中用java语言生成脚本方面的帮助吗   如何知道字符串的值是否为java数据类型   通过java在excel中的值前面添加0   javajavax。jnlp作为maven依赖项   java如何使用两种不同的方法更改按键时播放器字符的x值   如何在Java中从定制的netty HTTP服务器发送文本和二进制数据?   多线程Java是否可以找到名为的线程并将其转换为类?   网络多播支持在Java交易系统中有什么可能的用途?   java气泡排序(循环2对1)+整数数组到字符串数组?   java Hibernate标准多个表   java为什么JSP表单在Spring MVC中不向控制器发送UTF8?   当从JNI线程调用fork时,Java堆会发生什么情况