Форум сайта python.su
0
Добрый день.Недавно начал изучать Python.Создал простейший код.“Орел и решка”.
coin_flip(*ставка*, *Орел/ решка*).Программа работает,действительно отнимает ставку от суммы при проигрыше и прибавляет при выйгрыше, но дело в том,что переменная “money” не обновляется. Т.е. При выйгрыше 100 монет будет 1100,при повторном выйгрыше тоже 1100 вместо 1200.Я понимаю,что не обновляется из-за отсутствующих элементов,пробовал изменить/добавить,но из-за нехватки знаний не смог.
import random money = 1000 def coin_flip(bet,method): if bet > money: print("Not enough money") # Орел elif method == "Heads": method = 0 num = random.randint(0, 1) if num == 0: plus_mon = money + bet print("You win " + str(bet) + ". Now you balance is " + str(plus_mon)) elif num == 1: minus_mon = money - bet print("You lose " + str(bet) + ". Now you balance is " + str(minus_mon)) return # Решка elif method == "Tails": method = 1 num = random.randint(0, 1) if num == 0: minus_mon = money - bet print("You lose " + str(bet) + ". Now you balance is " + str(minus_mon)) elif num == 1: plus_mon = money + bet print("You win " + str(bet) + ". Now you balance is " + str(plus_mon)) return
Отредактировано Whiteflower (Авг. 1, 2019 15:20:04)
Офлайн
76
Во первых, ты переменную money нигде не изменяешь в своем коде. Во вторых, чтобы ее изменить нужно тебе ознакомиться с областями видимости
Почитай про области видимости и тогда возможно все поймешь и разберешься… Если не получится, то возвращайся на форум. Иначе, потом будешь плавать в этом вопросе…
Офлайн
14
проблема в том что вы не меняете глобальную переменную, а создаете новые minus_mon и plus_monкогда надо так
money += bet money -= bet
Офлайн
253
@cckyi_boxxx
надо так money -= bet
a=3 def f(): a+=1 print(a) f() Traceback (most recent call last): ... UnboundLocalError: local variable 'a' referenced before assignment
Офлайн
0
RomissevdСпасибо за совет.Начинаю изучать.Если будут вопросы напишу.
Во первых, ты переменную money нигде не изменяешь в своем коде. Во вторых, чтобы ее изменить нужно тебе ознакомиться с областями видимостиПочитай про области видимости и тогда возможно все поймешь и разберешься… Если не получится, то возвращайся на форум. Иначе, потом будешь плавать в этом вопросе…
Офлайн