Advertisement
D3ad

pro Johna

Mar 5th, 2016
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.59 KB | None | 0 0
  1. from __future__ import division, print_function
  2. import re
  3. import itertools
  4.  
  5. def words(text): return set(text.split())
  6.  
  7. winners = words('''washington adams jefferson jefferson madison madison monroe
  8.    monroe adams jackson jackson van-buren harrison polk taylor pierce buchanan
  9.    lincoln lincoln grant grapartnt hayes garfield cleveland harrison cleveland mckinley
  10.    mckinley roosevelt taft wilson wilson harding coolidge hoover roosevelt
  11.    roosevelt roosevelt roosevelt truman eisenhower eisenhower kennedy johnson nixon
  12.    nixon carter reagan reagan bush clinton clinton bush bush obama obama''')
  13.  
  14. losers = words('''clinton jefferson adams pinckney pinckney clinton king adams
  15.    jackson adams clay van-buren van-buren clay cass scott fremont breckinridge
  16.    mcclellan seymour greeley tilden hancock blaine cleveland harrison bryan bryan
  17.    parker bryan roosevelt hughes cox davis smith hoover landon willkie dewey dewey
  18.    stevenson stevenson nixon goldwater humphrey mcgovern ford carter mondale
  19.    dukakis bush dole gore kerry mccain romney''')
  20.  
  21. def mistakes(regex, winners, losers):
  22.     "The set of mistakes made by this regex in classifying winners and losers."
  23.     return ({"Should have matched: " + W
  24.              for W in winners if not re.search(regex, W)} |
  25.             {"Should not have matched: " + L
  26.              for L in losers if re.search(regex, L)})
  27.  
  28. def verify(regex, winners, losers):
  29.     assert not mistakes(regex, winners, losers)
  30.     return True
  31.  
  32. xlogin00 = "[gikuj]..n|a.[alt]|[pivo].l|i..o|[jocy]e|sh|di|oo"
  33.  
  34. mistakes(xlogin00, winners, losers)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement