Guest User

Names generator

a guest
Sep 4th, 2020
64
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. # Хотим дальше использовать функции из модуля random
  2. import random
  3.  
  4. # Читаем содержимое словаря из файла в память в виде списка dict
  5. with open('zdf.txt') as f:
  6.     dict = f.readlines()
  7.  
  8. #  Удаляем символ перевода строки из всех загруженных слов
  9. dict = [x.strip() for x in dict]
  10.  
  11. # Удаляем слишком короткие слова
  12. dict = [word for word in dict if len(word) > 4]
  13.  
  14. # Списки окончаний
  15. endings_first = [ "ат", "ог", "ов"]
  16. endings_second = [ "ев", "ов"]
  17.  
  18. # Создаем пустые списки для сохранения в них подходящих слов
  19. namefirst = []
  20. namesecond = []
  21.  
  22. # Для каждого слова в словаре выполняем:
  23. for word in dict:
  24.     # Если последние два символа есть в списке окончаний endings_first
  25.     if word[-2:] in endings_first:
  26.         # То добавляем это слово в список namefirst
  27.         namefirst.append(word)
  28.  
  29. # Для каждого слова в словаре выполняем:
  30. for word in dict:
  31.     # Если последние два символа есть в списке окончаний endings_second
  32.     if word[-2:] in endings_second:
  33.         if len(word)> 4:
  34.             # То добавляем это слово в список namesecond
  35.             namesecond.append(word)
  36.  
  37. # Перемешиваем слова в случайном порядке
  38. random.shuffle(namefirst)
  39. random.shuffle(namesecond)
  40.  
  41. # Пока в списке имен namefirst и списке фамилий namesecond есть слова:
  42. while len(namefirst) > 0 and len(namesecond) > 0:
  43.     # Забираем по слову из каждого списка и склеиваем
  44.     result = namefirst.pop() + " " + namesecond.pop()
  45.     # Выводим результат
  46.     print(result)
  47.  
RAW Paste Data