Я новичок в Python, и я никогда не изучал какой-либо другой язык программирования. Кажется, я получаю эту ошибку, и я читал другие сообщения, но они говорят, что нужно поставить global перед [dollars = 0], который выдает синтаксическую ошибку, потому что она не позволяет [= 0]. Я использую [доллары] в качестве счетчика, поэтому я могу отслеживать, что я добавляю к нему, и отображать его при необходимости. Может кто-нибудь мне помочь? Благодарю.UnBoundLocalError: Локальная переменная Ссылка перед назначением [Счетчик]
<> Код <>
dollars = 0
def sol():
print('Search or Leave?')
sol = input()
if sol == 'Search':
search()
if sol == 'Leave':
leave()
def search():
print('You gain 5 bucks')
dollars = dollars + 5
shop()
def leave():
shop()
def shop():
shop = input()
if shop == 'Shortsword':
if money < 4:
print('I\'m sorry, but you don\'t have enough dollars to buy that item.')
shop1()
if money > 4:
print('Item purchased!')
print('You now have ' + dollars + ' dollars.')
sol()
<> Traceback <>
Traceback (most recent call last):
File "C:/Users/justin/Python/Programs I Made/Current/Testing.py", line 29, in <module>
sol()
File "C:/Users/justin/Python/Programs I Made/Current/Testing.py", line 7, in sol
search()
File "C:/Users/justin/Python/Programs I Made/Current/Testing.py", line 13, in search
dollars = dollars + 5
UnboundLocalError: local variable 'dollars' referenced before assignment
Что должно произойти, если 'money == 4'? – glglgl
Не могли бы вы выложить полную трассу? – TerryA