On Fri, Jan 16, 2009 at 11:35 AM, David <da...@abbottdavid.com> wrote: > I am asking for some tips on how I can make > this program with less code and using some classes, if that is the best way > to proceed. I have a lot of code that is just copied from one function to > the next.
When you are copy/pasting code, think about how you can make a function that abstracts the copied bits. For example you could have this function: def play(filename): player = "/usr/bin/mplayer" fname = "/home/david/Desktop/core_video/data/" + filename subprocess.call([player, fname]) Then for example you would have def lesson10f(): play("python_1006.flv") menu() So that is a start. Now look at what you are doing with the individual sub-lessons. You really just want a way to play a series of lessons. This can be done with a loop: def lesson8(): files = ['python_0800a.flv', 'python_0801.flv', <snip>, 'python_0806.flv'] playall(files) def playall(files): for name in files: play(name) Since the lesson names follow a regular pattern you might even be able to generate the names automatically from the lesson number. Finally, put a loop in your menu function rather than having the lessons call back to the menu. Kent _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor