I am getting this error and I've read other posts but they say to put global before dollars = 0 which produces a syntax error because it doesn't allow the = 0. I'm using dollars as a counter so I can keep track of what I add to it and display it back when needed.
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()
Error message:
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
 
     
     
    