Python 根据单词的概率打印单词

Python 根据单词的概率打印单词,python,probability,Python,Probability,问题陈述: 编写一个程序,打印出我喜欢的单词,后面跟着一个单词:额外的单词应该是80%概率的“狗”,“10%概率的猫”和10%概率的“蝙蝠”。下面是一个示例输出: I love bats 范例 下面的程序用20%概率的Python代码打印出单词“dog” import random prob = 0.20 if random.random() < prob: print('dog') 为什么它以20%的概率打印“狗”?其思想是在0.00和1.01之间

问题陈述:

编写一个程序,打印出我喜欢的单词,后面跟着一个单词:额外的单词应该是80%概率的“狗”,“10%概率的猫”和10%概率的“蝙蝠”。下面是一个示例输出:

I love bats
范例

下面的程序用20%概率的Python代码打印出单词“dog”

import random
prob = 0.20

if random.random() < prob:
    print('dog')
            
为什么它以20%的概率打印“狗”?其思想是在0.00和1.01之间绘制一个随机值——这就是模块random中的函数random所做的——并检查它是否小于以十进制数表示的所需概率值。例如,随机值介于0.00和0.50之间的概率为50%。该值介于0.50和1.0之间的概率也为50%。它落在0.00和0.20之间的概率是20%,以此类推。 关于

我不明白的是:


我只需要打印一个字:蝙蝠、猫或狗。当猫和蝙蝠都有10%的概率时,我怎么能打印一张呢。如果条件不能区分0.10和0.10。

你可以想象一根长度为1的棍子。你把木棍分成3块,这样整个木棍就可以使用了。第一部分是棍子长度的.8,第二部分是.1,最后一部分是.1。。。现在用random.random画一个随机变量,看看它落在棍子的哪一部分。所以这两个.1概率落在木棍的不同部位:

r = random.random()
if r < .8:
     print('dogs')
elif r < .9:
     # here we have .1 = .9 - .8
     print('cats')
else:
    # this is the final part of the stick so we know we are in this bit if not in the others
    print('bats')


你可以想象一根长度为1的棍子。你把木棍分成3块,这样整个木棍就可以使用了。第一部分是棍子长度的.8,第二部分是.1,最后一部分是.1。。。现在用random.random画一个随机变量,看看它落在棍子的哪一部分。所以这两个.1概率落在木棍的不同部位:

r = random.random()
if r < .8:
     print('dogs')
elif r < .9:
     # here we have .1 = .9 - .8
     print('cats')
else:
    # this is the final part of the stick so we know we are in this bit if not in the others
    print('bats')


以最简单的方式,您可以拥有一个包含所需单词的列表,并按randon键号打印它

from random import randrange
words = ["dog","dog","dog","dog","dog","dog","dog","dog","cats","bats"]
print(words[randrange(10)])

以最简单的方式,您可以拥有一个包含所需单词的列表,并按randon键号打印它

from random import randrange
words = ["dog","dog","dog","dog","dog","dog","dog","dog","cats","bats"]
print(words[randrange(10)])

不需要使用NumPy来实现这一点;它在标准图书馆里!随机选择狗,猫,蝙蝠,80,10,10无需使用NumPy;它在标准图书馆里!随机选择狗、猫、蝙蝠80、10、10当一个人开发软件时,精度很重要。你没有,但是有。@Matthias是的,你的权利。感谢您的建议当一个人开发软件时,精度很重要。你没有,但是有。@Matthias是的,你的权利。谢谢你的建议