Alan, Thanks for the reply. This is not homework, it is a hobby. I am 44 years old. I was using Visual Basic, but recently decided to switch to Linux and have no intentions of going back to windows. Python seems like a good computer language. I read somewhere the the best way to learn it was to pick a project and start programming. Since one of my other hobbies is word games and Linux is severely lacking in this area I decided to write a game similar to Text Twist in windows for my first project.
The game I am writing has a graphical front end using GTK and the code so far is long and in more than one file (to keep the gui code seperate). I will gladly email you the whole thing to you if you like. In my research, I looked at examples of permutations, lists, sets, and most recently dictionaries which I have the feeling is the solution. Permutation looked good, but I am an amateur programer and couldn't quite grasp the concepts from the examples I found. Dictionaries hold promise as it can be used to get a count of the letters in words. from operator import itemgetter def countletters(word): lettercount = {} for letter in word: lettercount[letter] =lettercount.get(letter,0) + 1 print sorted(lettercount.iteritems(), key=itemgetter(1)) countletters("batty") [('a', 1), ('y', 1), ('b', 1), ('t', 2)] countletters("bat") [('a', 1), ('b', 1), ('t', 1)] countletters("bats") [('a', 1), ('b', 1), ('s', 1), ('t', 1)] bat is in batty. bats is not. I have a list of words in wordlist.txt. I can write a loop the do the letter counts for each word, but I can't figure out how to compare them. thanx, kreglet Alan Gauld wrote: > > > "kreglet" <kreg...@gmail.com> wrote > >> The problem that I am having is writing an algorithm for finding all the >> possible words from a given word. For example: python > > This sounds a lot like a homework. > We don't give direct help on homeworks but will try to point you > in the right direction. It helps if you tell/show us what you've tried > and where you are stuck. > > How do you think it should work? > Can you think of a systematic approach using pen and paper? > Can you program that? > Does it work? What is wrong? > > Hint: start with a small word that you can check for correctness. > Also test for things like double letters, > eg see. - is ese the same as ese? (the e's are swapped, honest!...) > > > HTH, > > -- > Alan Gauld > Author of the Learn to Program web site > http://www.alan-g.me.uk/ > > > _______________________________________________ > Tutor maillist - Tutor@python.org > http://mail.python.org/mailman/listinfo/tutor > > -- View this message in context: http://www.nabble.com/Algorithm-tp25107922p25109886.html Sent from the Python - tutor mailing list archive at Nabble.com. _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor