1

我正在尝试创建一个循环,使程序继续运行直到bank> 100000,并且在该while循环中还有另一个while循环确定bank是否已达到最小值(用户是否失败,并且bank重置为20000)。当前,即使连续迭代达到 1000000 条件,循环也会运行并永远继续。谁能看到解决这个问题的方法?

nb '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)
4

1 回答 1

2

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

您的代码无法停止。

你想要类似...

while bank > 100 and bank < 1000000:

我不确切知道您要达到什么逻辑,但是您需要更好地考虑停止条件。

编辑:

在更好地阅读您的问题后,我认为您应该摆脱这两个循环,因为一个就足够了。

初始化你bank = 20000的循环外,

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

.... 
于 2013-04-03T14:51:46.400 回答