Функция игры с монетой - PullRequest
       30

Функция игры с монетой

0 голосов
/ 13 декабря 2018

Я пытаюсь создать функцию в 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 голосов
/ 13 декабря 2018

В зависимости от того, как вы вызываете функцию, и от того, где вы печатаете результат функции 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
0 голосов
/ 13 декабря 2018

Вам необходимо вернуть переменную bank из функции, если вы хотите получить ее вне ее.

Эта концепция называется областью действия переменной.В Python простая функция имеет переменные, которые не распознаются за ее пределами.Область переменной Google (или см. Комментарий ниже) для получения дополнительной информации.

Цикл for выглядит нормально.Вы добавляете или вычитаете ставку за определенное количество бросков.

Просто используйте return bank в конце (вне цикла).

...