Improving Code - Python
<p>This code works but is not as efficent as possible. Can you tell me how to make it more efficent? I belevie there is away to not have so many functions but I have forgotten how. The script is a multi choose quiz. I have defined each question as a new function. Is this the best way to do this?</p>

<pre><code>def firstq (): # 1st Question
    global q1list,answer1
    q1list = ["Wellington","Auckland","Motueka","Masterton"]
    q1count = 0
    print ("Question 1")
    print ("From which of the following Towns is the suburb NEWLANDS located?")
    while q1count &lt; 4:
        print (q1count,"  ",q1list[q1count])
        q1count = q1count + 1
    answer1 = int(input("What number answer do you choose?"))
    if answer1 == 0: print ("Correct answer!")
    elif answer1 != 0: print ("Sorry! Incorrect Answer. Better luck with the next Question.")
    print("Next Question below:")
    print(" ")
    print(" ")



def secq (): #Second Question
    global q2list,answer2 # Makes answer2 and q2list avalible anywhere on the page.
    q2list = ["Wellington","Christchurch","Pairoa","Dunedin"] # List of answers to choose from.
    q2count = 0 # defines what the q2 count is. SEE BELOW
    print ("Question 2")# prints "question 2"
    print ("What NZ town is known for L&amp;P?") # Prints the question
    while q2count &lt; 4:
        print (q2count,"  ",q2list[q2count]) # Whilst the number of answers (q2list) is below 4 it will print the next answer.
        q2count = q2count + 1
    answer2 = int(input("What number answer do you choose?")) # asks for answer
    if answer2 == 2: print ("Correct answer!") # If answer is correct, prints "Correct answer"
    elif answer2 != 2: print ("Sorry! Incorrect Answer. Better luck with the next Question.") # If answer is correct, prints "Sorry! Incorrect Answer. Better luck with the next Question."
    print("Next Question below:") # prints "Next Question
    # these provide spacing!
    print(" ")
    print(" ")


def thrq ():
    global q3list,answer3
    q3list = ["Lewis Carroll","J.K. Rowling","Louis Carroll","Other"]
    q3count = 0
    print ("Question 3")
    print ("Who wrote the book Alice In Wonderland?")
    while q3count &lt; 4:
        print (q3count,"  ",q3list[q3count])
        q3count = q3count + 1
    answer3 = int(input("What number answer do you choose?"))
    if answer3 == 0: print ("Correct answer!")
    elif answer3 != 0: print ("Sorry! Incorrect Answer. Better luck with the next Question.")
    print("Next Question below:")
    print(" ")
    print(" ")

def fouq ():
    global q4list,answer4
    q4list = ["WA","DC","WD","WC"]
    q4count = 0
    print ("Question 4")
    print ("What is the abbreviation for Washington?")
    while q4count &lt; 4:
        print (q4count,"  ",q4list[q4count])
        q4count = q4count + 1
    answer4 = int(input("What number answer do you choose?"))    
    if answer4 == 1: print ("Correct answer!")
    elif answer4 != 1: print ("Sorry! Incorrect Answer. Better luck with the next Question.")
    print("Next Question below:")
    print(" ")
    print(" ")

def fivq ():
    global q5list,answer5
    q5list = ["Yes","No, they're found around New Zealand","No","No, they're found around the UK"]
    q5count = 0
    print ("Question 5")
    print ("Are walruses found in the South Pole?")
    while q5count &lt; 4:
        print (q5count,"  ",q5list[q5count])
        q5count = q5count + 1
    answer5 = int(input("What number answer do you choose?"))
    if answer5 == 2: print ("Correct answer!")
    elif answer5 != 2: print ("Sorry! Incorrect Answer. Better luck with the next Question.")
    print("Next Question below:")
    print(" ")
    print(" ")

def sixq ():
    global q6list,answer6
    q6list = ["G.M.","General M's","G Motors","Grand Motors"]
    q6count = 0
    print ("Question 6")
    print ("What is the other name for General Motors?")
    while q6count &lt; 4:
        print (q6count,"  ",q6list[q6count])
        q6count = q6count + 1
    answer6 = int(input("What number answer do you choose?"))    
    if answer6 == 0: print ("Correct answer!")
    elif answer6 != 0: print ("Sorry! Incorrect Answer. Better luck with the next Question.")
    print("Next Question below:")
    print(" ")
    print(" ")

def sevq ():
    global q7list,answer7
    q7list = ["Greece","USA","Egypt","Italy"]
    q7count = 0
    print ("Question 7")
    print ("Which of the following countries were cats most honored in?")
    while q7count &lt; 4:
        print (q7count,"  ",q7list[q7count])
        q7count = q7count + 1
    answer7 = int(input("What number answer do you choose?"))
    if answer7 == 2: print ("Correct answer!")
    elif answer7 != 2: print ("Sorry! Incorrect Answer. Better luck with the next Question.")
    print("Next Question below:")
    print(" ")
    print(" ")

def eigq ():
    global q8list,answer8
    q8list = ["I find","I see","I presume","I am"]
    q8count = 0
    print ("Question 8")
    print ("Complete this phrase-Dr. Livingstone,")
    while q8count &lt; 4:
        print (q8count,"  ",q8list[q8count])
        q8count = q8count + 1
    answer8 = int(input("What number answer do you choose?"))       
    if answer8 == 2: print ("Correct answer!")
    elif answer8 != 2: print ("Sorry! Incorrect Answer. Better luck with the next Question.")

    print(" ")
    print(" ")

def end():
    if answer1 == 0 and answer2 == 2 and answer3 == 0 and answer4 ==1 and answer5 ==2 and answer6 ==0 and answer7 == 2 and answer8 == 2: print("YAY, all questions correct! You have won the 1 million!")
    else: print("Sorry you have some incorrect questions! You have not won any money! :(") # If all answers are correct, this will display YAY, all questions correct! You have won the 1 million! If not it will print Sorry you have some incorrect questions! You have not won any money! :(.


def printorder ():
    # Defines ther order that it will be printed in
    firstq()
    secq()
    thrq()
    fouq()
    fivq()
    sixq()
    sevq()
    eigq()
    end()

name = l" " # while name is blank it will continue
while name != "quit": #While the name is not quit it will continue. If name is quit it will stop.
    print ("The $1,000,000 Quiz! Can you win the 1 Million?")#Prints Welcome Message
    name = input("Lets Get Started! What is your name: ")# asks for name
    if name == "quit": 
       break # if the name is quit it will stop if not....
    printorder()# ....prints printorder
</code></pre>
