2015-02-09 81 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 

请注意“而真正的”通过时,你的条件满足呼吁“破发”引发无限循环,必须打破。