python中的随机性和确定性?

时间:2015-11-17 07:41:22

标签: python random

我有一个简单的脚本,比如打印一个字符串。现在我想运行这个脚本100次,我想确保字符串至少打印1次,但不要超过3次。从统计上来说,我希望打印这个字符串的时间是完全运行时间的1%~3%。

我可以知道如何在Python中创建它?

非常感谢!

1 个答案:

答案 0 :(得分:2)

from random import randint
from pickle import dump, load
from os.path import isfile

if isfile('state.bin'):
    with open('state.bin', 'rb') as fh:
        state = load(fh)
else:
    state = {'counter' : 0, 'iterations' : 1}

if state['counter'] == 0 and state['iterations'] == 100:
    print('a string*')
else:
    if randint(0, 100) < 3 and state['counter'] < 3:
        print('a string*')
        state['counter'] += 1
state['iterations'] += 1

with open('state.bin', 'wb') as fh:
    dump(state, fh)

现在运行此脚本100次,从统计上来说,这应该只会在1-3%的时间内打印a string。它还会跟踪您已完成的迭代次数以及ammount是否小于1或大于3,并将采取相应措施。