2015-02-09 82 views
0

加總這裏是我的代碼:模擬,並在結束

import random, time 
def example(): 
    var = random.randint(1,100) 
    if var <= 99: 
     var = 'a', 'b', 'c', 'd' 
    if var == 100 : 
     var = 'b', 'c', 'd' 
    noACount = 0 
    someVariable = 0 
    if 'a' in var: 
     someVariable = someVariable + 1 
    if 'a' in var: 
     someVariable = someVariable + 12 
    else: 
     print('Item a not present') 
     noACount = noACount + 1 
     time.sleep(1) 
    print('The amount of someVariable you have is ' + str(someVariable) + '.') 
    print('The amount of times A was not present was' + str(noACount) + '.') 

到目前爲止,我已經完成了這個,但我試圖使它像一個模擬。我試圖讓它問你想要執行這個腳本的次數,最後告訴你一些變量的總數和nACount總數。例如,如果我的變量some​​Variable是poptarts,而noCount是蘋果,在做x次後,它會告訴你,你購買的poptarts的數量是x,而你買蘋果的次數是x。我試圖用一個while循環來做這件事,但那根本不起作用,所以我知道我一直在試圖弄清楚它。

+2

「我試着用一段時間來做這件事,但那根本不起作用」 - 你是什麼意思?您使用的任何代碼,錯誤,意外輸出? – Marcin 2015-02-09 02:13:56

+0

我把它放在while循環中,但我找不到一種方法來將我從每個中獲得的值添加到總數中,而不是將它們相互覆蓋。例如:someVariable = 13,但是當它再次循環時,我無法弄清楚如何使它加起來,而不是一直保持覆蓋一些變化到相同的值。 – EOLERROR 2015-02-09 02:29:56

+0

True:(代碼在這裏) – EOLERROR 2015-02-09 02:33:15

回答

0

在進入循環之前,您需要定義someVariable。然後它在函數範圍內,而不僅僅在循環範圍內。

例1:

while True: 
    someVariable = 0 #The variable is initiated to 0 => bad 
    someVariable +=1 
print someVariable #outputs 1 

例2:

someVariable = 0 
while True: 
    ...doSomeMagic... 
    someVariable +=1 
print someVariable #someVariable now holds whatever we counted up to 

請注意「而真正的」通過時,你的條件滿足呼籲「破發」引發無限循環,必須打破。