Возможный дубликат:
ссылка перед ошибкой присваивания в python< /а>
Итак, я начал немного изучать Python и уже столкнулся со своей первой ошибкой.
Когда я пытаюсь увеличить «догадки» (я хочу иметь возможность отображать сколько догадок было принято) в операторе else я получаю ссылку перед ошибкой присваивания, которую я не понимаю, так как я присвоил «догадкам» значение перед запуском функции.
Вот мой код -
import random
def guessFunc():
guess = input("Guess a number between 1 and 10: \n")
guess = int(guess)
if guess == num:
print("Congratulations, you got it right")
else:
guesses += 1
guessFunc()
num = random.randint(1,10)
guesses = 1
guessFunc()
Меня больше смущает тот факт, что если я поставлю
print(guesses)
в начало моей функции он напечатает значение, которое я присвоил «догадкам». Я действительно просто не понимаю, как функция может видеть значение и может его распечатать, но не может его изменить.
Если бы кто-нибудь мог объяснить мне, почему это происходит, я был бы очень признателен, я предполагаю, что это локальная/глобальная вещь, но я действительно не уверен.