-
Notifications
You must be signed in to change notification settings - Fork 1
/
wordgenerator.py
38 lines (28 loc) · 918 Bytes
/
wordgenerator.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import random
words = open('words', 'r')
word_list = []
for word in words:
word_list.append(word.strip())
misspell_options = ['case', 'repeat']
while(True):
# Choose a random english word to start with
start_word = random.choice(word_list)
list_word = list(start_word)
vowels = 'aeiou'
for i in range(0, len(list_word)):
# Change each vowel with 30% probability
if list_word[i] in vowels:
if random.randint(1, 10) <= 3:
list_word[i] = random.choice(vowels)
random_from_ten = random.randint(1, 10)
# Make one mistake with 20% probability (may or may not occur after changing vowel)
if random_from_ten <= 2:
option = random.choice(misspell_options)
if option == 'case':
list_word[i] = list_word[i].upper()
elif option == 'repeat':
list_word[i] *= 2
elif random_from_ten <= 3:
list_word[i] = list_word[i].upper()
list_word[i] *= 2
print ''.join(list_word)