【发布时间】:2019-01-15 05:27:37
【问题描述】:
有人要求我模拟打印机是否在一天中的每一小时后工作(即 24 小时)。如果打印机在一小时后工作,那么它有 90% 的工作概率和 10% 的概率在下一小时结束时损坏。
如果坏了,那么它有 50% 的概率在下一小时工作或坏掉。
假设随机均匀分布并且打印机工作的第一个小时。
我的 Python 代码如下:
Chance = []
Status = []
for i in range(24):
Chance.append(random.uniform(0,1))
Chance[0] = 1
Chance
for i in Chance:
if i > 0.1:
Status.append('Working')
else:
Status.append('Broken')
Chance, Status
我的问题是我无法根据前一个事件模拟当前事件,即如果前一个事件被破坏了如何将当前事件的概率调整为0.5。
【问题讨论】:
-
首先,您可以使用
Chance = np.random.uniform(size=24)代替for 循环。其次,为什么第 6 行的Chance一个人?
标签: python list for-loop simulation probability