In article <[EMAIL PROTECTED]>, takayuki <[EMAIL PROTECTED]> wrote:
> Hi, > > I'm studying python via the exellent book "How to think like a python > programmer" by Allen Downey. > > Noob question follows... > > animals.txt is a list of animals, each on a separate line: "aardvard, > bat, cat, dog, elephant, fish, giraffe, horse, insect, jackelope" > > I want to loop through the list of words and print words that don't > have any "avoid" letter in them. > > def hasnolet(avoid): > fin = open('animals.txt') > for line in fin: > word = line.strip() > for letter in avoid: > if letter in word: > break > else: > print word > > hasnolet('abcd') > I could give you a fish, or I could teach you to fish. I'd rather do the latter. So... Take your inner loop: > for letter in avoid: > if letter in word: > break > else: > print word and instrument it so you can see exactly what's happening. Try something like: > for letter in avoid: > print "letter = %s" % letter > if letter in word: > print "it's in word" > break > else: > print "no it's not" > print word and see if that helps. -- http://mail.python.org/mailman/listinfo/python-list