2015-11-17 27 views
-4

我有一個簡單的腳本,比如打印一個字符串。現在我想運行這個腳本100次,我想確保字符串至少打印1次,但不會超過3次。在統計上,我希望這個字符串被打印1%〜3%的總運行時間。python中的隨機和確定性?

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

非常感謝!

+1

這是我稱之爲「gimme-teh-codez」問題的一個很好的例子。這個問題說明了程序應該做什麼,但是沒有顯示用戶方面爲自己開發程序的任何努力。只是「嘿,我希望它做到這一點,現在給我一個codez」。有時候,如果問題很有趣,那麼這將起作用;但大多數情況下,它會像這樣做,會陷入低谷並關閉。很明顯,你的英語水平很高,所以請在再次發佈之前閱讀[如何提出一個好問題](http://stackoverflow.com/help/how-to-ask)。 –

回答

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次,統計這應該只打印的時間a string 1-3%。它還會跟蹤您已完成多少次迭代,並且該次數是否小於1或大於3,並且會相應採取行動。

+1

可以打印3次以上。它可以打印0次。要求是「至少1次,但不超過3次」。 –

+0

@MarkTolonen真的,我會努力解決這個問題:) – Torxed

+1

@MarkTolonen固定。我必須承認,對一個模糊問題的愚蠢回答可能不如我想的那麼有趣。我希望這是更好的。 – Torxed