diff options
Diffstat (limited to 'zanagrams/nearletters.py')
| -rwxr-xr-x | zanagrams/nearletters.py | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/zanagrams/nearletters.py b/zanagrams/nearletters.py new file mode 100755 index 0000000..e592e18 --- /dev/null +++ b/zanagrams/nearletters.py @@ -0,0 +1,46 @@ +#!/usr/bin/env python3 +import sys + +def main(argv): + badpairs = set() + goodpairs = set() + letters = argv[1].strip() + #print(letters, file=sys.stderr) + #print(len(letters), file=sys.stderr) + if len(letters) == 16: + for x in range(0,16): + l = letters[x] + for y in [[1,4,5], [1,3,4,5], [1,3,4,5], [3,4]][x%4]: + if x+y > 15: + continue + l2 = letters[x+y] + goodpairs.add(l + l2) + goodpairs.add(l2 + l) + + for x in range(0,16): + l = letters[x] + for x2 in range(x,16): + l2 = letters[x2] + if not (l + l2) in goodpairs: + badpairs.add(l + l2) + if not (l2 + l) in goodpairs: + badpairs.add(l2 + l) + + print(goodpairs, file=sys.stderr) + print(badpairs, file=sys.stderr) + while 1: + line = sys.stdin.readline() + line = line.strip() + if not line: + break; + noprint = False + line2 = line.casefold() + for pair in badpairs: + if pair in line2: + noprint = True + break + if line and not noprint: + print(line, end='\n') + +if __name__ == '__main__': + main(sys.argv) |
