@Bogdikon

Почему код не работает?

money = 0
health = 100
def player_addhealth(addhealth):
    health + addhealth
    print("[DBG] Health added! now health = " + str(health))
def player_sethealth(sethealth):
    health = sethealth
    print("[DBG] Health set! now health = " + str(health))
def player_removehealth(removehealth):
    health - removehealth
    print("[DBG] Health removed! now health = " + str(health))
def player_addmoney(addmoney):
    money + addmoney
    print("[DBG] Money added! now money = " + str(money))
def player_setmoney(setmoney):
    money = setmoney
    print("[DBG] money set! now money = " + str(money))
def player_removemoney(removemoney):
    money - removemoney
    print("[DBG] Money removed! now money = " + str(money))
def player_showmoney():
    print("Money: " + str(money))
def player_showhealth():
    print("Health: " + str(health))
def player_debuginfo():
    player_showmoney()
    player_showhealth()
    print("[DBG] Info on screen!")
print(money)
print(health)
player_addmoney(10)
print(money)

не выдает ошибку, но половина функций не работает или работает странно.
  • Вопрос задан
  • 78 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Арифметические операторы не изменяют операнды. Они возвращают значение, которое нужно чем-то присвоить.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@antonwx
+= и -=, вместо просто + и -.
Ответ написан
fox_12
@fox_12 Куратор тега Python
Расставляю биты, управляю заряженными частицами
А что вы ожидаете от кода?
В единственной функции, которую вызываете, вы выполняете арифметическое действие, но ничему его не присваиваете, потом просто печатаете значение money, который у вас равен 0
Ну и в итоге вновь печатаете money, которое, ожидаемо, - равно 0

Возможно, - вы просто слишком многого хотите от своего кода? ))
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы