> > Hi! My first "ever" program that I've created is a simple game called > > "State Capitals". It's straight forward; 5 simple questions about > > state capitals in a non-GUI format.
[some code cut] Hi Trent, Looks good so far! There is one direct thing we can do to make the program a little shorter: we can use "functions". If you want, we can go through an example to see what these things do. There's a fairly consistant pattern to each of the quiz questions. If we look at the first two blocks of questions, for example: > > question = raw_input("Question 1 - What is the capital of NC, a: Raleigh > > or > > b: Atlanta? ") > > if question == "a": > > print "Yes\n" > > else: > > print "WRONG\n" > > question = raw_input("Question 2 - What is the capital of SC, a: > > Greenville > > or b: Columbia? ") > > if question == "b": > > print "Yes\n" > > else: > > print "WRONG\n" and if we squint our eyes a bit, we might see a pattern here, something like: question = raw_input( {some question here} ) if question == {some right answer here}: print "Yes\n" else: print "Wrong\n" where I've put placeholders (the stuff in braces) to mark the places that are different. There is a feature in many programming languages called the "function" that allows us to capture this pattern and give it a name. Think Mad Libs: what we can do is make a mad-lib game form, and then let people fill in what they want. The block above can be turned into this function: ################################################### def quiz_question(some_question, some_right_answer): question = raw_input(some_question) if question == some_right_answer: print "Yes\n" else: print "Wrong\n" ################################################### 'quiz_question' is the name I've given this, though if you want to call it something else, please feel free to change the name. Once we have 'quiz_question', how do we use this? Let try this from the interactive interpreter: ###### >>> quiz_question("what's your favorite color?", "green") what's your favorite color?green Yes >>> quiz_question("what's your favorite color?", "green") what's your favorite color?blue no red! Wrong ###### Does this make sense so far? By having that function, it'll lets you add more questions to your quiz by just adding the stuff that's really important: the content of the questions and their right answers. The tutorials on: http://wiki.python.org/moin/BeginnersGuide/NonProgrammers should talk about functions a bit. Try playing with functions: it should make your program shorter, and that'll make it a little easier to think about how to do the three-strikes-you're-out! thing. _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor