投币游戏功能

时间:2018-12-13 01:47:21

标签: python function loops for-loop coin-flipping

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

我希望运行该功能,例如,如果有一个赢,那么银行将上升,这将是新银行,然后另一个赢或亏损将增加或减少新银行

我知道我的循环是错误的,但不确定如何解决

2 个答案:

答案 0 :(得分:1)

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

此概念称为可变范围。在Python中,一个简单的函数内部包含一些无法在其外部识别的变量。 Google变量范围(或参见下面的评论)以获取更多信息。

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

只需在循环的末尾使用return bank

答案 1 :(得分: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