TypeError: 'int' object is not callable In Python
Question: Bit of a python noob and I'm required to add a regular expression in my code
but can not get it to work :/ i have searched the error message on google and
tried to figure out whats wrong but no luck so i figured next best thing to do
would be to ask directly. Here is the code so far:

    
    
    # allows us to access a random 'key' in the dictionary
    import random
    import re
    
    # Contains the question and it's correct answer
    my_dict =   {
                "A form of Protectionism that imposes a tax on imports" : "tariff",
                "....is quantity of a good or service that consumers are willing and able to     buy at a given price in a given time period" : "Demand", 
                "....is the quantity of a good or service that a producer is willing and able   to supply onto the market at a given price in a given time period" : "Supply",
                "By using ..... businesses can bring down their average costs by producing on a larger scale" : "Economies of scale",
                "The cost of the next best alternative" : "Opportunity Cost",
                ".... is the transfer of assets from the public (government) sector to the private sector." : "Privatisation"
            }
    
    
    # welcome message
    print("Economics Revision App")
    print("=======================")
    
    
    
    # the quiz will end when this variable becomes 'False'
    playing = True
    
    
    # While the game is running
    while playing == True:
    
        # set the score to 0
        score = 0
    
        # gets the number of questions the player wants to answer
        num = int(input("\nHow many questions would you like: "))
        num = re.match("r\d[0-9]{2}$", num())
        if match:
            print ('foo')
    
        # loop the correct number of times
        for i in range(num):
    
            # the question is one of the dictionary keys, picked at random
            question = (random.choice( list(my_dict.keys())))
            # the answer is the string mapped to the question key
            answer = my_dict[question]
    
            # print the question, along with the question number
            print("\nQuestion " + str(i+1) )
            print(question  + "?")
    
            # get the user's answer attempt
            guess = input("> ")
    
            # if their guess is the same as the answer
            if guess.lower() == answer.lower():
                # add 1 to the score and print a message
                print("Correct!")
                score += 1
            else:
                print("Incorrect guess again!")
    
        # after the quiz, print their final score  
        print("\nYour final score was " + str(score))
    
        # store the user's input...
        again = input("Enter any key to play again, or 'q' to quit.")
    
        #... and quit if they types 'q'
        if again.lower() == 'q':
            playing = False
    

The code I'm struggling with in questions


Answer: `num = re.match("r\d[0-9]{2}$", num())`

`num` is simply an interger, so `num()` is invalid.

Should be something like `match = re.match("r\d[0-9]{2}$", str(num))`

1) it should be `match` right?

2) `re` is working on `str`, so the argument passed should be `str(num)`

Then the code should be fine and fun as well. :)

