Repetition

I see this pattern throughout your code:

if q1 == "Local Area Network":
    correct()

elif q1 == "local area network":
    correct()

elif q1 == "Local area network":
    correct()

elif q1 == "Local area Network":
    correct()

else:
    incorrect()


So basically you are just checking for each possible capitalization of the phrase. But what if I typed:


LOCAL AREA NETWORK



It would output incorrect, even though it is actually correct. Why don't you convert the input to either lower case or upper case, and just check against that? That would take care of any and all correctly spelled cases. Example:

if q1.lower() == "local area network":
    correct()


Or...

if q1.upper() == "LOCAL AREA NETWORK":
    correct()


Naming

naming-things is difficult. What's worst is figuring out what names mean when you're the next person having to maintain the code. A few keystrokes when you write the code can save a lot of headaches for the next person. Example, instead of:


q1 = input("What does LAN stand for?")



Perhaps:

techQuizQuestion1 = input("What does LAN stand for?")


Also, the following variables are problematic because they are not mentioned in the code outside of the declaration, and their names say nothing about them:


a = input()
# ...
b = input()



If they are needed, it's better to give them a meaningful name. 

Simple technology quiz
My shapefile has a number of fields, like roadname, and street number.  Is there a way to get at these without converting the shapefile first into a featureclass (mdb)?  Sometimes the conversion is a time consuming operation.

I'm using ArcEngine 10 C# with VS2010
