我试图弄清楚如何使用百分比机会输出一封信。
我的程序如何工作是用户将输入1到100之间的整数值,然后我的程序将其转换为十进制值。此外,用户输入循环将在下一步中发生的迭代量。
下一步是根据在第一步中输入的概率输出ax或ay,因此如果用户输入70,那么在z的数量期间输出x的概率为70%(0.7概率)迭代。
现在我正试图弄清楚如何让我的程序使用用户输入的概率来确定它应该输出多少个x。
先谢谢,不确定这一切是否有意义(新手程序员在这里......)
答案 0 :(得分:5)
运行以下代码。输出x
的概率为70%:
>>> import random
>>> 'yx'[random.randrange(100)<70]
'x'
工作原理:
import random
这会导入我们需要的模块。
random.randrange(100)
这将生成0到99之间的随机整数。
random.randrange(100)<70
这会生成False(0)或True(1)
'yx'[random.randrange(100)<70]
根据随机数的结果选择字符。
根据achampion的建议,上述内容也可以通过三元声明来完成:
'x' if random.randrange(100) < 70 else 'y'
答案 1 :(得分:0)
可能的解决方案。
x_prob = 70 # for example
iter_times = 100 # for example
for i in xrange(iter_times):
prob = random.randint(1, 100) # produce an integer in [1, 100]
if prob <= x_prob:
print x
else:
print y