Python 和 random.randint()

新手上路,请多包涵

我在学校遇到以下问题:老师要求我们使用 randint 函数以 2313 的概率分成两边。

我真的不明白这个 randint 概率函数是如何工作的。

 import random

rand = (random.randint(1,100))
        if rand >= 67  :
                print ("obj A 1/3")
        else:
                print ("obj B 2/3")

这是行不通的。

原文由 caubert 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 421
1 个回答

您必须学习的一项关键技能是使用文档。快速搜索将我带到 random.randint() 上的 Python 手册页:

返回满足 a <= N <= b 的随机整数 N。

您创建的变量 rand 等于随机数 >= 1<= 100 。下一行是一个条件语句,用于检查您的号码是否为 >= 67 …这只有约 13 的时间为真。


旁注:使用 1-100 之间的随机数没有任何好处。如果您准确地寻找您想要的(即 1/3),您的代码将更加直接(因此 Pythonic)。

 import random

rand = random.randint(1, 3)
if rand is 1:
    print '1/3'
else:
    print '2/3'

原文由 Sam 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏