Переменная Python не меняется - PullRequest
       10

Переменная Python не меняется

0 голосов
/ 29 августа 2018

У меня есть переменная, которая должна меняться и называется "scrolldown". Это не изменится с 0, но я не знаю почему. Вот мой код Любая помощь приветствуется. По какой-то причине всякий раз, когда python печатает переменную «scrolldown», она всегда равна 0, независимо от того, сколько раз она должна была пройти через 0 + 1. Я пытался изменить переменную с int (scrolldown) на прокрутку вниз и +1 на + 1 но ни один не работает. Переменная определяется в начале как «0», но я не понимаю, почему это может вызвать проблемы. Почему эта переменная не изменяется при запуске скрипта?

scrolldownunits = int(903 - 553)
scrolldown = 0
Test2 = True

def movelisting():
        print(scrolldown)
        for i in range(scrolldown):
                scrolldowncalc = scrolldown * int(scrolldownunits) * -1
                pyautogui.scroll(scrolldowncalc)
        pyautogui.click()
        time.sleep(5)
        movelisting1 = 1
        Test2 = False
        listingcheck()


def listingcheck():
    if Test2 == True:
        movelisting1 = 0
        scrolldown = 0
    if movelisting1 != 1:
        pyautogui.moveTo(914, 499)   ##CLICK ON EBAY LISTING
        pyautogui.click()
        time.sleep(5)
    if pyautogui.locateOnScreen('NoClothing.png') != None: ###something not working here
        i = True
        o = pyautogui.locateOnScreen('BackArrow.png')
        print(o)
        p = pyautogui.center(o)
        pyautogui.click(p)
        time.sleep(5)
        pyautogui.moveTo(914, 499)
        time.sleep(2)
        scrolldown = scrolldown +1
        movelisting()
    elif pyautogui.locateOnScreen('NoBikes.png') != None: ###SEARCHES FOR THINGS WE DONT WANT
        h = True
        c = pyautogui.locateOnScreen('BackArrow.png')
        d = pyautogui.center(c)
        pyautogui.click(d)
        time.sleep(5)
        pyautogui.moveTo(914, 499)
        time.sleep(2)
        scrolldown = scrolldown +1
        movelisting()
    elif pyautogui.locateOnScreen('NoSelections.png') != None:
        g = True
        e = pyautogui.locateOnScreen('BackArrow.png')
        f = pyautogui.center(e)
        pyautogui.click(f)
        time.sleep(5)
        pyautogui.moveTo(914, 499)
        time.sleep(2)
        scrolldown = scrolldown +1
        movelisting()
    listingcheck1 = True  ##USED FOR VAR DELETE
    listingcapture() ###CONTINUES ONTO NEXT STEP

1 Ответ

0 голосов
/ 29 августа 2018

Когда вы назначаете глобальное внутри функции, вы должны сначала сообщить Python, что вы намерены изменить глобальное. По умолчанию при выполнении присваивания Python создаст новую переменную в области действия функции с тем же именем. Добавьте "глобальную прокрутку" в начало списка listcheck ().

...