Python 减法赋值为0,而不是负数

Python 减法赋值为0,而不是负数,python,Python,我在玩弄概率,我在模拟一些东西,用户可以下注x金额,如果用户输了,我希望它耗尽他们的全部“银行”。如果他们赢了,就会增加收入 正如您在代码中所看到的,当他们赢了钱时,钱会通过+=被“添加”,但我如何才能做到这一点,以便当他们输了钱时,数字变为负数(例如-=,这对我不起作用) 代码 随机导入 def get_可能(x): 返回random.randrange(x) def循环(可能性、数量、循环、下注): 成功=0 失败=0 对于范围内的i(循环): 如果可能(x=可能性)=数量: 成功+=1 下

我在玩弄概率,我在模拟一些东西,用户可以下注
x
金额,如果用户输了,我希望它耗尽他们的全部“
银行
”。如果他们赢了,就会增加收入

正如您在代码中所看到的,当他们赢了钱时,钱会通过
+=
被“添加”,但我如何才能做到这一点,以便当他们输了钱时,数字变为负数(例如
-=
,这对我不起作用)

代码

随机导入
def get_可能(x):
返回random.randrange(x)
def循环(可能性、数量、循环、下注):
成功=0
失败=0
对于范围内的i(循环):
如果可能(x=可能性)=数量:
成功+=1
下注+=下注*8
其他:
失败+=1
下注
打印(“成功:+str(成功))
打印(“失败:+str(失败))
打印(“总收入:+str(下注))
循环(可能性=14,数字=1,循环=100,下注=100)

在这里,当他们输了的时候,说总收入是
0
,我想说的是
-赌注金额

你提到当个人损失时,你想提取所有银行金额,所以当个人损失金额变成0时,使用代码 打赌。
通过观察上面的代码片段,您可以看到每当片段执行时(即当人输注时),下注总是变为0。为了清楚理解,请发布原始问题定义。

引入新的变量和

def loop(possibilities, number, loop, bet):
    success = 0
    fail = 0
    sum = 0
    for i in range(loop):
        if get_possible(x=possibilities) == number:
            success += 1
            sum += bet * 8
        else:
            fail += 1
            sum -= bet
    print("Success: " + str(success))
    print("Fail: " + str(fail))
    print("Total earned: " + str(sum))

通过添加变量
total

随机导入
def get_可能(x):
返回random.randrange(x)
def循环(可能性、数量、循环、下注):
总数=0
成功=0
失败=0
对于范围内的i(循环):
如果可能(x=可能性)=数量:
成功+=1
总计+=下注*8
其他:
失败=失败+1
总数-=赌注
打印(“成功:+str(成功))
打印(“失败:+str(失败))
打印(“收入总额:+str(总额))
循环(可能性=14,数字=6,循环=14,下注=100)```

bet-=bet
将始终进行
bet
0所以我如何使其成为负数如果您100%下注,那么一旦您输掉一次赌注,您以后就没有什么可下注的了。i、 e.
bet
为0。在那之后,你不能获得任何东西(0*8==0)或失去任何东西(0-0==0)。@你的问题是你没有记录这个人与他们下注的金额。如果你有他们目前的持有量,你可以从这个数字中减去他们的赌注(假设他们对自己持有的资金进行了过度押注,则该数字将变为负值。如果
循环设置为1,则此操作有效,但当我进行多个循环时,
总收益将变为正值我更新了答案。当
失败时,您需要引入一个新的变量和,将当前结果相加或相减ows上升为一个正数,当他赢两次(+1600),输六次(-600)时有效。总体为+1000,但输一次时应为
-100