当boolean变为false时循环和断开

时间:2013-04-03 14:43:30

标签: python if-statement while-loop breakpoints

我正在尝试制作一个循环,程序一直持续到银行> 100000,并且在该循环内有另一个while循环,它确定银行是否达到最小值(用户是否已经失败,银行重置为20000) )。 目前,即使连续迭代达到1000000条件,循环也会继续运行并永久持续。任何人都可以看到解决这个问题的方法吗?

n.b。 'singles'只是一个包含一个数字的数组。

非常感谢。

i = 0
newbank = []
iterations = []
while bank < 1000000:
    bank = 20000
    while bank > 100:
        spin = randint(0, 38)
        if choices2 == singles:
            if spin == singles:    
                bank = bank + (bet * 35)
            else:
                bank = bank - bet
            i = i + 1
            iterations.append(i)
            newbank.append(bank)

1 个答案:

答案 0 :(得分:2)

即使while,您的第二个bank < 10000000仍继续运行,因此您永远不会离开该循环,如果您这样做,那么您将保持第一个循环。

您的代码无法停止。

你想要像...这样的东西吗?

while bank > 100 and bank < 1000000:

我不确切知道你想要达到的逻辑,但你需要更好地考虑你的停止条件。

编辑:

在更好地阅读你的问题后,我认为你应该摆脱这两个循环,因为一个绰绰有余。

在循环外初始化bank = 20000

bank = 20000
while bank < 1000000:
    if bank < 100:
        bank = 20000

....