En Sat, 19 May 2007 19:40:39 -0300, bullockbefriending bard <[EMAIL PROTECTED]> escribió:
> from my cursory skimming of friedl, i get the feeling that the all > pairs different constraint would give rise to some kind of fairly > baroque expression, perhaps likely to bring to mind the following > quotation from samuel johnson: > > "Sir, a woman's preaching is like a dog's walking on his hind legs. > It is not done well; but you are surprised to find it done at all." Try this, it's not as hard, just using match and split (with the regular expression propossed by MR): import re regex = re.compile(r'(\d+,\d+/){5}\d+,\d+') def checkline(line): if not regex.match(line): raise ValueError("Invalid format: "+line) for pair in line.split("/"): a, b = pair.split(",") if a==b: raise ValueError("Duplicate number: "+line) Here "all pairs different" means "for each pair, both numbers must be different", but they may appear in another pair. That is, won't flag "1,2/3,4/3,5/2,6/8,3/1,2" as invalid, but this wasn't clear from your original post. -- Gabriel Genellina -- http://mail.python.org/mailman/listinfo/python-list