我正在尝试创建一个 Martingale 投注模拟器。我的全局“running_profit”变量应该由“change_running_total”函数间接更新。running_total 变量已正确更新,但受 running_total 影响的 running_profit 变量未更新。
import random
round_n = 0
bet = 25
starting_funds = 5000
running_total = starting_funds
running_profit = running_total - starting_funds
goal_profit = 5000
wins = 0
losses = 0
rng_v = 0.00
def rng():
"""Generates random number"""
global rng_v
rng_v = random.random()
def winloss_generator():
"""Generates win/loss condition"""
global rng_v
if rng_v <= .49:
return 'win'
else:
return 'loss'
def increase_winloss():
"""Increases wins or losses variable based on winloss_generator output"""
global wins
global losses
if winloss_generator() == 'win':
wins += 1
return 'win'
elif winloss_generator() == 'loss':
losses += 1
return 'loss'
else:
print('error')
def increase_round():
"""Increases round number by 1"""
global round_n
round_n += 1
print('round: ', round_n)
def change_running_total():
"""Increases or decreases running_total based on winloss_generator"""
global running_total
if winloss_generator() == 'win':
running_total += bet
elif winloss_generator() == 'loss':
running_total -= bet
else:
print('error')
def print_current_record():
"""Prints current win/loss record to screen"""
print('Current Record: ', wins, 'wins, ', losses, 'losses')
def print_winloss():
"""Prints win/loss condition to screen"""
print(winloss_generator(), 'print_winloss'.upper())
def print_profit():
"""Print running profit to screen"""
print(running_profit, 'print_profit (variable)'.upper())
print(running_total - starting_funds, 'print_profit (calculated)'.upper())
def return_current_funds():
"""Returns running total of funds"""
global running_total
return running_total
阿晨1998
相关分类