1

我正在尝试在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

我希望函数运行,例如,如果赢了,银行会上涨,这将是新银行,然后另一个赢或输将从新银行中增加或减少

我知道我的循环是错误的,但不知道如何修复它

4

2 回答 2

1

如果要在函数外部检索变量,则需要从函数中返回bank变量。

这个概念称为变量作用域。在 Python 中,一个简单的函数在其中包含在其外部无法识别的变量。谷歌变量范围(或见下面的评论)了解更多信息。

for 循环似乎很好。您在一定数量的翻转中增加或减少赌注。

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

于 2018-12-13T01:55:47.693 回答
1

根据您调用函数的方式以及打印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
于 2018-12-13T01:59:07.023 回答