Так я работаю над игрой, а вот мой текущий код, который работает отлично:Как обновить 'x' правильно?
print("Type directions() to see commands")
def directions() :
print("Type North, East, South or West to move")
move = input("North, East, South or West? ")
if move == "North":
north()
elif move == "East":
east()
elif move == "South":
south()
elif move == "West":
west()
def north():
print("You moved North")
x=0
x=(x+1)
print("You are at co-ordinates", x, "x:0 y")
Однако, я знаю, что позже будет проблема, так как х будет сброшена для каждого направления. При вводе x=0
в верхней части кода и его удаления из def north()
части, при выполнении кода, Python дает мне ошибку:
'UnboundLocalError: local variable 'x' referenced before assignment'
Как я могу закодировать это так, что «х» 0, чтобы начать с , но могут быть изменены def
функциями?
Вы можете сделать '' 'x''' global. – turnt
См. [Этот вопрос] (http://stackoverflow.com/questions/423379/using-global-variables-in-a-function-other-than-the-one-that-created-them) для одного способа сделать используя глобальные переменные. –