annotate python/accentuate.py @ 145:4096771c8b9f

protect from no anagrams case
author Jeff Hammel <jhammel@mozilla.com>
date Wed, 15 Jun 2011 15:14:29 -0700
parents a612a16f11a7
children e5c0188c5001
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
125
a51df2382390 new program that does silly things
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
1 #!/usr/bin/env python
a51df2382390 new program that does silly things
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
2 # -*- coding: utf-8 -*-
a51df2382390 new program that does silly things
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
3
a51df2382390 new program that does silly things
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
4 import random
a51df2382390 new program that does silly things
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
5
136
a612a16f11a7 add more craziness
Jeff Hammel <jhammel@mozilla.com>
parents: 126
diff changeset
6 mapping = {'a': ['Ȁ', 'ȁ', 'à', 'Ѧ'],
a612a16f11a7 add more craziness
Jeff Hammel <jhammel@mozilla.com>
parents: 126
diff changeset
7 'b': ['Б'],
125
a51df2382390 new program that does silly things
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
8 'c': ['ç'],
136
a612a16f11a7 add more craziness
Jeff Hammel <jhammel@mozilla.com>
parents: 126
diff changeset
9 'e': ['ȅ', 'Ё', 'Є'],
a612a16f11a7 add more craziness
Jeff Hammel <jhammel@mozilla.com>
parents: 126
diff changeset
10 'n': ['И', 'Й'],
a612a16f11a7 add more craziness
Jeff Hammel <jhammel@mozilla.com>
parents: 126
diff changeset
11 'o': ['ổ', 'ȍ', 'Ѳ'],
125
a51df2382390 new program that does silly things
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
12 't': ['Ṱ'],
136
a612a16f11a7 add more craziness
Jeff Hammel <jhammel@mozilla.com>
parents: 126
diff changeset
13 'v': ['Ѵ'],
a612a16f11a7 add more craziness
Jeff Hammel <jhammel@mozilla.com>
parents: 126
diff changeset
14 'w': ['Ѡ', 'Щ']
125
a51df2382390 new program that does silly things
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
15 }
a51df2382390 new program that does silly things
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
16
a51df2382390 new program that does silly things
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
17 if __name__ == '__main__':
a51df2382390 new program that does silly things
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
18 import sys
a51df2382390 new program that does silly things
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
19 arg = ' '.join(sys.argv[1:])
a51df2382390 new program that does silly things
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
20 retval = []
a51df2382390 new program that does silly things
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
21 for letter in arg:
a51df2382390 new program that does silly things
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
22 if letter.lower() in mapping:
a51df2382390 new program that does silly things
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
23 retval.append(random.sample(mapping[letter.lower()], 1)[0])
a51df2382390 new program that does silly things
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
24 else:
a51df2382390 new program that does silly things
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
25 retval.append(letter)
a51df2382390 new program that does silly things
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
26 print ''.join(retval)