[Tutor] Lists within lists return
Eve Kotyk
e.kotyk@shaw.ca
Tue, 11 Dec 2001 14:07:08 +0000
I'm working through the Josh Cogliati tutorial on the Python site. In
the secton on lists, example 8.3, test.py is given along with a sample
output. I've typed up the program using Idle but I do not get the
expected output. In fact I get no output at all and I don't get any
error messages. Below see the example code as cut and pasted from my
file. I would appreciate any help you might be able to give me.
##This program is called test.py
# This program runs a test of knowledge
true = 1
false = 0
#First get the test questions
#Later this will be modified to use file io.
def get_questions():
#notice how the data is stored as a list of lists
return [["What color is the daytime sky on a clear day? ","blue"],\
["What is the answer to life, the universe and everything? ",
"42"]\
["What is a three letter word for mouse trap? ","cat"]]
#This will test a single question
#it takes a single questin in
#it returns true if the user typed the correct answer, otherwise false
def check_question(question_and_answer):
#extract the question and the answer from the list
question = question_and_answer[0]
answer = question_and_answer[1]
#give the question to the user
given_answer = raw_input(question)
#compare the user's answer to the testers answer
if answer == given_answer:
print "Correct"
return true
else:
print "Incorrect, correct was: ", answer
return false
#This will run through all the questions
def run_test(questions):
if len(questions) == 0:
print "No questions were given."
#the return exits the function
return
index = 0
right = 0
while index < len(questions):
#Check the question
if check_question(questions[index]):
right = right + 1
#go to the next question
index = index + 1
#notice the order of the computation, first multiply, then
divide
print "you got ",right*100/len(questions), "% right out of",\
len(questions)
#now lets run the questions
run_test(get_questions())
--
ekotyk
http://members.shaw.ca/e.kotyk/virtualstudio.htm