我正在尝试在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
我希望运行该功能,例如,如果有一个赢,那么银行将上升,这将是新银行,然后另一个赢或亏损将增加或减少新银行
我知道我的循环是错误的,但不确定如何解决
答案 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