У меня возникли проблемы с передачей этого словаря между одной функцией и другой.python - передача переменных между функциями
def player_main():
player = {"health" : 100,
"xp" : 100,
"strength" : 0,
"dexterity" : 0,
"wisdom" : 0,
"level_req" : None,
"health_spawn" : None,
"enemy_hit" : None}
choice = difficulty_sequence()
if choice == "easy":
player = easy_difficulty(player)
elif choice == "hard":
player = hard_difficulty(player)
player = character_creation(player)
print(player)
return player
Теоретически моя вторая функция должна вызывать «игрок» с первого. Второй не меняет значения этого значения вообще, но некоторые из его переменных зависят от первой функции.
def enemy_flail():
print("Flail!")
player = player_main()
stat = player["strength"]
print(stat)
damage = stat//4 + 5
print(damage)
return damage
Может ли кто-нибудь увидеть, в чем я ошибаюсь?
Редактировать - enemy_flail() не будет печатать ни стат, ни урон, что заставляет меня поверить, что это не вызов player_main() в первую очередь.
Что именно должно произойти? –
Нет, потому что вы не описали, что на самом деле неправильно. Что происходит, чего не должно быть, или этого не происходит? –