#english.py #generate random pseudo-English "words" import random vowels = ["a","i","u","e","o"] #initial consonants and consonant clusters: consonants = ['m','n', 'p','b','t','d','k','g','f','v','th','s','z','sh','ch','j', 'h','l','r','y','w', 'pl','pr','bl','br','tr','tw','dr','dw','kl','kr','kw', 'gl','gr','fl','fr','thr','thw', 'sm','sn','sp','spr','sp','spl','st','str','sk','skr','sl','sw'] #final consonants and consonant clusters: final_consonants = ['m','n','ng', 'p','b','t','d','k','g','f','v','th','s','z', 'sh','ch','j','l','r','y', 'mp','mpt','mps','mz', 'nt','nd','ndz','nk','nch','nj','nth','nst','nz', 'pt','pts','pth','pths','ps', 'bd','bz', 'ts', 'gd','gz', 'ft','fth','fs', 'vz', 'ths', 'thd','thz', 'sp','sk','skt','sks', 'sht', 'lp','lpt','lb','lt','ld','ldz','lk','lfth','lfths','lv','lvd','lvz','lst','lz', 'rm','rn','rb','rt','rd','rv','rz'] number_words = int(input("How many random pseudo-English 'words'?: ")) number_syllables = int(input("Maximum number of syllables per word?: ")) all_same_length = True if input("All same length? (y or n): ")=='y' else False words = [] for i in range(number_words): if all_same_length: num_syls = number_syllables else: num_syls = random.randint(1,number_syllables) words.append("") #start with empty string #then some random syllables: consonant and vowel is_consonant_last_syl = False for syl in range(num_syls): words[i] = words[i] + consonants[random.randint(0,len(consonants)-1)] +\ vowels[random.randint(0,len(vowels)-1)] if random.choice([True,False]): words[i] = words[i] + final_consonants[random.randint(0,len(final_consonants)-1)] if syl == num_syls-1: is_consonant_last_syl = True if not is_consonant_last_syl: words[i] = words[i] + final_consonants[random.randint(0,len(final_consonants)-1)] show_data = True if input("Show the random words? (y or n): ")=='y' else False if show_data: print("Before the sorting: ") for word in words: print(word, end=" ") print() words.sort() show_data = True if input("Show the sorted words? (y or n): ")=='y' else False if show_data: print("After the sorting: ") for word in words: print(word, end=" ") print()