ok.. I finally made something that works.. Please let me know what you think:
>>> def lines(letters): fin = open('words.txt') count = 0 rescount = 0 # count the number of results results = "" # there are words that contain the letters for line in fin: needs = 0 x = str(line.strip()) for ch in letters: if ch not in x: pass else: needs = needs + 1 if needs == len(letters): rescount += 1 results = results + '\n' + x count += 1 print count, 'lines searched' print results, '\n' print 'result count is: ', rescount On Apr 26, 4:02 pm, "Eric Wertman" <[EMAIL PROTECTED]> wrote: > > Is the way I wrote the function inherently wrong? What I wrote > > I would not say that. I think a lot of people probably start off like > that with python. You'll find in most cases that manually keeping > counters isn't necessary. If you really want to learn python though, > I would suggest using built in functions and libraries as much as > possible, as that's where the real power comes from (IMO). > > > returns the sequence, however I'm trying to make the output match for > > the letters in the string entered, not necessarily the string > > sequence. > > Only the sequence shows up 'uzi'. I don't get words like 'unzip' or > > 'Zurich' . I've only barely started on invocation and maybe writing > > something like I'm describing is above what level I'm currently at. > > This would be a more difficult approach.. Where you are doing the > comparison step: > > if letters in line.strip(): > > It's trying to match the exact string "uzi", not any of the individual > letters. You would need to look for each letter independently and > then make sure they were in the right order to match the other words. -- http://mail.python.org/mailman/listinfo/python-list