投币游戏功能

Coin Flip Game function

我正在尝试在 python 中创建一个函数,其中玩家从一定数量开始,然后给定一定赌注和翻转次数,它将在翻转后给出结束数量

我是 python 的初学者,我仍在习惯使用循环

所以我有:

import random
def coin(stake, bank, flips):
    for i in range(0,flips):
       H_T = random.randint(0,1) # heads =1  or tails=0
       if H_T ==1:
          k = stake
       else:
          k = -1*stake
       bank = bank + k

我希望函数 运行 这样,例如,如果赢了,银行将上升,这将是新银行,那么另一个赢或输将从新银行中添加或减去

我知道我的循环有问题,但不确定如何修复它

如果要在函数外部检索它,您需要 return 函数中的 bank 变量。

这个概念叫做变量作用域。在 Python 中,一个简单的函数内部有变量,外部无法识别这些变量。 Google 变量范围(或查看下面的评论)了解更多信息。

for 循环似乎没问题。您在一定次数的翻转后增加或减少赌注。

只需在最后(循环外)使用 return bank

根据您调用函数的方式,以及打印出 coin() 函数结果的位置,您可能只需要添加一条 return bank 语句:

def coin(stake, bank, flips):
    for i in range(0,flips):
        H_T = random.randint(0,1) # heads =1  or tails=0
        ...
        bank = bank + k
    return bank

样本运行:

>>> print(coin(5, 100, 2))
90