Advertisement
Guest User

Untitled

a guest
Mar 25th, 2019
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.98 KB | None | 0 0
  1. import string
  2. import random
  3.  
  4. vowels = 'aeiou'
  5. consonants = 'bcdfghijklmnpqrstvwxz'
  6.  
  7.  
  8. def get_letter(last_letter=None):
  9. # Check if last letter generated was a consonant
  10. if last_letter:
  11. last_letter = ''.join(last_letter)
  12. last_letter_was_consonant = last_letter in consonants
  13. else:
  14. last_letter_was_consonant = False
  15.  
  16. # If last letter was a vowel, make it 50% chance to generate a consonant
  17. if not last_letter_was_consonant and bool(random.randint(0, 1)):
  18. last_was_consonant = True
  19. yield random.choice(consonants)
  20. else:
  21. last_was_consonant = False
  22. yield random.choice(vowels)
  23.  
  24.  
  25. def generate_word(length, spread=0):
  26. word = list()
  27.  
  28. for i in range(length + random.randint(1, spread)):
  29. word.append(next(get_letter(last_letter=word[-1:])))
  30.  
  31. return ''.join(word).capitalize()
  32.  
  33.  
  34. if __name__ == '__main__':
  35. print('Generating 10 random names:')
  36. for i in range(10):
  37. print(generate_word(length=5, spread=3))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement