Python 3.x 循环仅将最后一个结果添加到列表中
我正在尝试运行一个小型赌场轮盘赌结果模拟器。因此,我想了解赌场应该有多大的一家银行,以避免因玩家下注规模而破产。 请参阅下面的代码:Python 3.x 循环仅将最后一个结果添加到列表中,python-3.x,while-loop,Python 3.x,While Loop,我正在尝试运行一个小型赌场轮盘赌结果模拟器。因此,我想了解赌场应该有多大的一家银行,以避免因玩家下注规模而破产。 请参阅下面的代码: from random import choices bankroll = 500 bet = 50 lose = -50 population = [bet, lose] weights = [0.4865, 0.5135] game_count = 1 winning_game_count = [] bankrupt_game_count = []
from random import choices
bankroll = 500
bet = 50
lose = -50
population = [bet, lose]
weights = [0.4865, 0.5135]
game_count = 1
winning_game_count = []
bankrupt_game_count = []
for i in range(10000):
while bankroll != 0 and game_count < 5000:
result = int(choices(population, weights)[0])
bankroll -= result
game_count += 1
if game_count > 4999:
winning_game_count.append('won')
elif bankroll == 0:
bankrupt_game_count.append('lost')
print(winning_game_count)
print(bankrupt_game_count)
来自随机导入选择的
资金=500
赌注=50
损失=-50
人口=[打赌,输]
权重=[0.4865,0.5135]
游戏计数=1
赢得比赛次数=[]
破产游戏计数=[]
对于范围(10000)内的i:
而资金0且游戏计数小于5000:
结果=整数(选项(总体、权重)[0])
资金-=结果
游戏计数+=1
如果游戏计数>4999:
获胜游戏计数。追加('WIND')
elif资金==0:
破产\u游戏\u计数。追加('lost'))
打印(获胜游戏计数)
打印(破产游戏计数)
我只得到上一次迭代的结果,而我想得到所有游戏(5000个游戏)的总和和
资金
导致0的游戏数。我迷路了。您只得到上一次迭代的结果,因为您只运行了1次迭代。
您需要在每次迭代之间重置控制循环条件的变量:
for i in range(10000):
bankroll=500
game_count = 1
while bankroll != 0 and game_count < 5000:
范围(10000)内的i的:
资金=500
游戏计数=1
而资金0且游戏计数小于5000:
由于只运行1次迭代,因此只能获得上一次迭代的结果。
您需要在每次迭代之间重置控制循环条件的变量:
for i in range(10000):
bankroll=500
game_count = 1
while bankroll != 0 and game_count < 5000:
范围(10000)内的i的:
资金=500
游戏计数=1
而资金0且游戏计数小于5000: