0

我有这个代码,如果时间小于 12,我试图让它有 60% 的机会选择 3。代码:

import random
from datetime import datetime
from random import choice
am = [1, 2, 3]
pm = [1, 2]
datetime.time(datetime.now())
c =(datetime.now().strftime('%H:%M:%S %p'))
if c < '12:00:00 PM':
    ch = choice(am)
else:
    ch = choice(pm)
if ch == 1:
    print "hello"
if ch == 2:
    print "how are you?"
if ch == 3:
    print "good morning"
4

2 回答 2

3

如果您希望有 60% 的机会在 list 中选择 3 am,您可以编辑该列表,使 60% 的值为 3。

am = [1, 2, 3, 3, 3]
于 2013-07-01T16:10:23.607 回答
1

您可以使用该weights属性来设置某个成员被选中的机会。

例如:

import random

nums = [1, 2, 3]
result = random.choices(nums, weights=[20, 20, 60])

print (result)

如果你通过这样的while循环运行它:

import random

nums = [1, 2, 3]

while True:
    #update Result value every loop run
    result = random.choices(nums, weights=[20, 20, 60])
    print (result)

该值将每次更新。快乐编程!

于 2018-08-22T11:07:08.783 回答