Search code examples
pythonfunctionvariables

I'm trying to use a variable outside of its function in python


I'm not sure how I could get my ans_label to access my ans_string as it is defined within the function ssInterpret().

def ssInterpret():
    #region=(x, y, width, height)
    time.sleep(5)
    myScreenshot = pyautogui.screenshot(region=(400, 320, 800, 500))
    myScreenshot.save(imgPath)

    #reads the image

    img = cv2.imread(imgPath)
    text = pytesseract.image_to_string(img)

    q = text

    #completes the answer search

    results = brainlypy.search(q)
    question = results.questions[0]
    print('URL: '+'https://brainly.com/task/'+str(question.databaseid))
    print('QUESTION:',question)
    print('ANSWER 1:', question.answers[0])
    if question.answers_count == 2:
        print('ANSWER 2:', question.answers[1])

    ans_string = str(question.answers[0])

answer_label = Label(root, text=ans_string)

Solution

  • First, your function needs to return the answer:

    def ssInterpret():
        ...  # most of function elided.
        return ans_string
    
    #then call the function 
    ans = ssInterpret()
    answer_label = Label(root, text=ans)