Найти - Пользователи
Полная версия: Обновление переменной
Начало » Python для новичков » Обновление переменной
1
Whiteflower
Добрый день.Недавно начал изучать 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


Romissevd
Во первых, ты переменную money нигде не изменяешь в своем коде. Во вторых, чтобы ее изменить нужно тебе ознакомиться с областями видимости
Почитай про области видимости и тогда возможно все поймешь и разберешься… Если не получится, то возвращайся на форум. Иначе, потом будешь плавать в этом вопросе…
@cckyi_boxxx
проблема в том что вы не меняете глобальную переменную, а создаете новые minus_mon и plus_monкогда надо так
 money += bet
money -= bet
doza_and
@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

Желательно самому знать язык чтобы советовать.
Whiteflower
Romissevd
Во первых, ты переменную money нигде не изменяешь в своем коде. Во вторых, чтобы ее изменить нужно тебе ознакомиться с областями видимостиПочитай про области видимости и тогда возможно все поймешь и разберешься… Если не получится, то возвращайся на форум. Иначе, потом будешь плавать в этом вопросе…
Спасибо за совет.Начинаю изучать.Если будут вопросы напишу.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB