25 рдкреНрд░рдХрд╛рд░ рдХреЗ "рд╕реАрдЬрд╝рд░" рдФрд░ рдЕрдВрдЧреНрд░реЗрдЬреА рд╢рдмреНрдж

рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ, рд╕рдВрджреЗрд╢ рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рдиреЗ рдХреЗ рдХрдИ рдЖрд╕рд╛рди рддрд░реАрдХреЗ рд╣реИрдВред рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдЕрдкрдиреЗ рддрд░реАрдХреЗ рд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИред рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреАред


рдпрд▓реНрдЪреВ рд╢реЗрдЬреЗрдХреНрдЯреЛ


рдпрд╛ рд░реВрд╕реА рдореЗрдВ "рд╕реАрдЬрд╝рд░ рдХреЗ рд╕рд┐рдлрд░" рд╕реЗ рдЕрдиреБрд╡рд╛рджрд┐рдд - рд╕реАрдЬрд╝рд░ рдХреЗ рд╕рд┐рдлрд░ ред


Cesar


- рдЗрд╕рдХрд╛ рд╕рд╛рд░ рдХреНрдпрд╛ рд╣реИ?
- рд╡рд╣ рдПрди рдЕрдХреНрд╖рд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддреНрдпреЗрдХ рдкрддреНрд░ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реБрдП, рд╕рдВрджреЗрд╢ рдХреЛ рдПрдирдХреЛрдб рдХрд░рддрд╛ рд╣реИред рд╕реАрдЬрд╝рд░ рдХрд╛ рдХреНрд▓рд╛рд╕рд┐рдХ рд╕рд┐рдлрд░ рдЕрдХреНрд╖рд░ рддреАрди рдХрджрдо рдЖрдЧреЗ рдмрдврд╝рддрд╛ рд╣реИред рд╕рд░рд▓ рд╢рдмреНрджреЛрдВ рдореЗрдВ - рдпрд╣ "abv" рдерд╛, рдпрд╣ "рдЬрд╣рд╛рдВ" рдмрди рдЧрдпрд╛ред


"рд▓реЗрдХрд┐рди рд╡рд░реНрдгрдорд╛рд▓рд╛ рдХреЗ рдЕрдВрдд рдореЗрдВ рдЕрдХреНрд╖рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?" рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?
рд╡реЗ рдмрд┐рд▓рдХреБрд▓ рдареАрдХ рд╣реИрдВред рдпрджрд┐ рдХрд┐рд╕реА рдкрддреНрд░ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕рд┐рдлрд░ рд╡рд░реНрдгрдорд╛рд▓рд╛ рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдкрд░реЗ рдЪрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ - рдпрд╣ рдлрд┐рд░ рд╕реЗ рд╕рднреА рдХреА рдЧрд┐рдирддреА рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, "рдЖрдИрдпреВрдпрд╛" рдЕрдХреНрд╖рд░ "abv" рдореЗрдВ рдмрджрд▓ рдЬрд╛рддреЗ рд╣реИрдВред рдФрд░ рд╕реНрдерд╛рди рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рд░рд╣рддреЗ рд╣реИрдВред


- рдХреНрдпрд╛ N рддреАрди рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП?
рдмрд┐рд▓рдХреБрд▓ рдирд╣реАрдВред N рддреАрди рд╕реЗ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред [1: рдПрдо -1] рдХреЗ рдмреАрдЪ рдХрд┐рд╕реА рднреА рдПрди рдХреЛ рдЕрдиреБрдорддрд┐ рджреА рдЬрд╛рддреА рд╣реИ, рдЬрд╣рд╛рдВ рдПрдо рд╡рд░реНрдгрдорд╛рд▓рд╛ рдореЗрдВ рдЕрдХреНрд╖рд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИред


рдпрджрд┐ рдЖрдк рдЗрд╕рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ рддреЛ рдЗрд╕ рддрд░рд╣ рдХрд╛ рд╕рд┐рдлрд░ рд╕рдордЭрдирд╛ рдЖрд╕рд╛рди рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдЙрдирдХреА "рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛" рдирд╣реАрдВ рдереА рдЬрд┐рд╕рдиреЗ рдореБрдЭреЗ рдЖрдХрд░реНрд╖рд┐рдд рдХрд┐рдпрд╛, рдмрд▓реНрдХрд┐ рдХреБрдЫ рдФрд░ред


рдЯрд╛рдИ


рдПрдХ рдЧрд░реНрдореА рдХреЗ рджрд┐рди рдореИрдВ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛:


  • рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдореИрдВ рд╕реАрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рд╕реА рд╢рдмреНрдж рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдореБрдЭреЗ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рдПрдХ рдореМрдЬреВрджрд╛ рд╢рдмреНрдж рдорд┐рд▓рддрд╛ рд╣реИ?
  • рдРрд╕реЗ рдХрд┐рддрдиреЗ рд╢рдмреНрдж "рд╢рд┐рдлреНрдЯрд░реНрд╕" рд╣реИрдВ?
  • рдФрд░ рдЕрдЧрд░ N рдХреЛ рдмрджрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдХреНрдпрд╛ рдХреЛрдИ рдкреИрдЯрд░реНрди рд╣реЛрдЧрд╛?

рдореИрдВрдиреЗ рдПрдХ рд╣реА рдорд┐рдирдЯ рдореЗрдВ рдЗрди рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм рдвреВрдВрдврдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред


рдЯрд╛рд╕реНрдХ: рд╕рднреА рд╢рдмреНрджреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВ


рд░рд┐рдЯреНрд░реАрдЯред рдорд┐рдЦрд╛рдЗрд▓ рдЬрд╝рд╛рджреЛрд░реНрдиреЛрд╡ рдХреЗ рд╕рдВрдЧреАрдд рдХрд╛рд░реНрдпрдХреНрд░рдо рдФрд░ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЕрдиреБрднрд╡ рд╕реЗ, рдореБрдЭреЗ рджреЛ рдмрд╛рддреЗрдВ рд╕рдордЭ рдореЗрдВ рдЖрдИрдВ:


  1. рд░реВрд╕реА рдХреЙрдореЗрдбрд┐рдпрди рдХреЗ рднрд╛рд╖рдг рд╕реЗ рдЕрдореЗрд░рд┐рдХреА рдирд╛рд░рд╛рдЬ рдирд╣реАрдВ рд╣реИрдВред
  2. рд░реВрд╕реА рднрд╛рд╖рд╛ рдордЬрдмреВрдд рдФрд░ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реИред рдФрд░ рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╢рдмреНрдж рд╣реИрдВред

рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рдЕрдВрдЧреНрд░реЗрдЬреА рднрд╛рд╖рд╛ рдХреЛ рдЕрдкрдиреЗ рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рд╕рдордп рдореЗрдВ рдПрдХ рдЗрдиреНрдлреЗрдВрдЯ рдерд╛ рдХрд┐ рдЕрдВрдЧреНрд░реЗрдЬреА рдмреЛрд▓рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧ рдЕрдВрдЧреНрд░реЗрдЬреА рд╢рдмреНрджреЛрдВ рдХрд╛ рдкреВрд░рд╛ рд╢рдмреНрджрдХреЛрд╢ рдПрдХ рд╕рд╛рде рд░рдЦрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗред рдореБрдЭреЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдкреНрд░реЗрд░рд┐рдд рдХрд┐рдпрд╛ред


рд╕реБрд╕реНрдд рдЧреЛрдЗрдВрдЧ рдХреА рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдореБрдЭреЗ рдЗрд╕ рднрдВрдбрд╛рд░ рдореЗрдВ рд▓реЗ рдЖрдИ ред рд▓реЗрдЦрдХ рдиреЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╕реНрд╡рд░реВрдкреЛрдВ рдореЗрдВ 479K рдЕрдВрдЧреНрд░реЗрдЬреА рд╢рдмреНрджреЛрдВ рдХрд╛ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ред рдореБрдЭреЗ json рдлрд╝рд╛рдЗрд▓ рдкрд╕рдВрдж рдЖрдИ, рдЬрд┐рд╕рдореЗрдВ рд╕рднреА рд╢рдмреНрджреЛрдВ рдХреЛ рдкрд╛рдпрдерди рдбрд┐рдХреНрд╢рдирд░реА рдореЗрдВ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд░реВрдк рдореЗрдВ рд░рдЦрд╛ рдЧрдпрд╛ рдерд╛ред


рдкрд╣рд▓реА рд╢рд╡ рдкрд░реАрдХреНрд╖рд╛ рдХреЗ рдмрд╛рдж, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдХрдо рд╢рдмреНрдж рдереЗ - 370 101 рдЯреБрдХрдбрд╝реЗред "рд▓реЗрдХрд┐рди рдпрд╣ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛, рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдЕрдЪреНрдЫреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛," рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ред


words = json.load(open('words_dictionary.json', 'r')) len(words.keys()) >> 370101 

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдПрдХ рд╡рд░реНрдгрдорд╛рд▓рд╛ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореИрдВрдиреЗ рдЗрд╕реЗ рдЕрдкрдиреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрд░реАрдХреЗ рд╕реЗ рдПрдХ рд╕реВрдЪреА рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рд╡рд░реНрдгрдорд╛рд▓рд╛ рдореЗрдВ рдЕрдХреНрд╖рд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдпрд╛рдж рд░рдЦрдирд╛ рднреА рдЖрд╡рд╢реНрдпрдХ рдерд╛:


 abc = list('abcdefghijklmnopqrstuvwxyz') abc_len = len(abc) 

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рд╢рдмреНрдж рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рдХрд░рдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рдерд╛ред рдпрд╣рд╛рдБ рдХреНрдпрд╛ рд╣реБрдЖ:


 #   - def cesar(word, abc, abc_len, step=3): word_list = list(word) result = [] for w in word_list: i = abc.index(w) i = (i+step) % abc_len wn = abc[i] result.append(wn) result = ''.join(result) return result 

рдореИрдВрдиреЗ рд╕рднреА рд╢рдмреНрджреЛрдВ рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рдЪрдХреНрд░ рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдФрд░ рдПрдХ-рдПрдХ рдХрд░рдХреЗ рдЙрдирдХрд╛ рдЕрдиреБрд╡рд╛рдж рд╢реБрд░реВ рдХрд┐рдпрд╛ред рд▓реЗрдХрд┐рди рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╕рд╛рдордиреЗ рдЖрдИред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдХреБрдЫ рд╢рдмреНрджреЛрдВ рдореЗрдВ рдПрдХ "-" рдЪрд┐рдиреНрд╣ рдерд╛, рдЬреЛ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рдФрд░ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рдерд╛ред


рджреЛ рдмрд╛рд░ рд╕реЛрдЪрдиреЗ рдХреЗ рдмрд┐рдирд╛, рдореИрдВрдиреЗ рдРрд╕реЗ рд╢рдмреНрджреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЧрд┐рдирд╛ рдФрд░ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ рджреЛ рдереЗред рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдЙрд╕рдиреЗ рджреЛрдиреЛрдВ рдХреЛ рдбрд┐рд▓реАрдЯ рдХрд░ рджрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╢рд╛рдпрдж рд╣реА рдкрд░рд┐рдгрд╛рдо рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧрд╛ред рдореЗрд░реА рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕ рд╕рдорд╛рд░реЛрд╣ рдХрд╛ рдЬрдиреНрдо рд╣реБрдЖ:


 #   ┬л-┬╗     def rem(words): words_list = list(words.keys()) words = {} for word in words_list: if '-' in word: words_list.remove(word) else: words[word] = 1 return words 

рд╢рдмреНрджрдХреЛрд╢ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:


 {'a': 1, 'aa': 1, 'aaa': 1, 'aah': 1, ... } 

рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рдореИрдВ рд╕реНрдорд╛рд░реНрдЯ рдирд╣реАрдВ рдмрдиреВрдВрдЧрд╛ рдФрд░ рдЗрдирдХреЛ рд╢рдмреНрджреЛрдВ рдХреЗ рд╕рд╛рде рдмрджрд▓реВрдВрдЧрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦрд╛:


 #   {'word': 1}  {'word': 'cesar-word'} def cesar_all(words, abc, abc_len, step=3): result = words for w in result: result[w] = cesar(w, abc, abc_len, step=step) return result 

рдФрд░, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рд╣рдореЗрдВ рдПрдХ рдмрдбрд╝реЗ рдЪрдХреНрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА рдЬреЛ рд╕рднреА рд╢рдмреНрджреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдПрдЧрд╛, рд╢рдмреНрдж-рд╢рд┐рдлреНрдЯрд░реНрд╕ рдЦреЛрдЬреЗрдВ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдмрдЪрд╛рдПрдВред рдпрд╣рд╛рдБ рдпрд╣ рд╣реИ:


 #       def check_all(words_cesar, min_len=0): words_keys = words_cesar.keys() words_result = {} for word in words_keys: if words_cesar[word] in words_keys: if len(word) >= min_len: words_result[word] = words_cesar[word] return words_result 

рдЖрдкрдиреЗ рджреЗрдЦрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ "min_len = 0" рд╣реИред рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЙрд╕рдХреА рдЬрд░реВрд░рдд рд╣реЛрдЧреАред рдЗрд╕ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреА рдЦрд╝рд╛рд╕рд┐рдпрдд рдХреЗ рд▓рд┐рдП рд╢рдмреНрджреЛрдВ рдХрд╛ рдПрдХ "рдЕрдЬреАрдм" рд╕реЗрдЯ рдерд╛ред рдЬреИрд╕реЗ: "рдЖ", "рдЖрд╣" рдФрд░ рд╕рдорд╛рди рд╕рдВрдпреЛрдЬрдиред рдпрд╣ рд╡реЗ рдереЗ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдкрд╣рд▓рд╛ рдкрд░рд┐рдгрд╛рдо рджрд┐рдпрд╛ - 660 рд╢рдмреНрдж-рд╢рд┐рдлреНрдЯрд░реНрд╕ред


рдЗрд╕рд▓рд┐рдП, рдореБрдЭреЗ рдХрдо рд╕реЗ рдХрдо рдкрд╛рдВрдЪ рд╡рд░реНрдгреЛрдВ рдХреА рд╕реАрдорд╛ рд░рдЦрдиреА рдкрдбрд╝реА рддрд╛рдХрд┐ рд╢рдмреНрдж рдЖрдВрдЦ рдХреЛ рднрд╛рдП рдФрд░ рдореМрдЬреВрджрд╛ рд╕рдорд╛рдиред


 words_result = check_all(words_cesar, min_len=5) words_result >> {'abime': 'delph', 'biabo': 'elder', 'bifer': 'elihu', 'cobra': 'freud', 'colob': 'frore', 'oxime': 'ralph', 'pelta': 'showd', 'primero': 'sulphur', 'teloi': 'whorl', 'xerox': 'ahura'} 

рд╣рд╛рдВ, рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреА рдмрджреМрд▓рдд рджрд╕ рдлреНрд▓рд┐рдк рд╢рдмреНрдж рдкрд╛рдП рдЧрдПред рдореЗрд░рд╛ рдкрд╕рдВрджреАрджрд╛ рд╕рдВрдпреЛрдЬрди:
рдкреНрд░рд╛рдЗрдорд░реЛ [рдкреНрд░рдердо] тЖТ рд╕рд▓реНрдлрд░ [рд╕рд▓реНрдлрд░]ред рдЕрдзрд┐рдХрд╛рдВрд╢ рдЕрдиреНрдп рдЬреЛрдбрд╝реЗ Google рдЕрдиреБрд╡рд╛рджрдХ рдХреЛ рдирд╣реАрдВ рдкрд╣рдЪрд╛рдирддреЗ рд╣реИрдВред


рдЗрд╕ рд╕реНрддрд░ рдкрд░, рдореИрдВрдиреЗ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдЬреНрдЮрд╛рди рдХреА рдкреНрдпрд╛рд╕ рдмреБрдЭрд╛рдИред рд▓реЗрдХрд┐рди рдЖрдЧреЗ рд╕рд╡рд╛рд▓ рдереЗ: "рдЕрдиреНрдп рдПрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?"


рдФрд░ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдореБрдЭреЗ рдЙрддреНрддрд░ рдорд┐рд▓рд╛:


 #    N def loop_all(words, abc, abc_len, min_len=5): result = {} for istep in range(1, abc_len): words_rem = rem(words) words_cesar = cesar_all(words_rem, abc, abc_len, step=istep) words_result = check_all(words_cesar, min_len=min_len) result[istep] = words_result print('DONE: {}'.format(istep)) return result 

10-15 рд╕реЗрдХрдВрдб рдореЗрдВ рдЪрдХреНрд░ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ред рдпрд╣ рдХреЗрд╡рд▓ рдкрд░рд┐рдгрд╛рдо рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рд╣реИред рд▓реЗрдХрд┐рди, рдЬреИрд╕рд╛ рдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬрдм рдпрд╣ рд╢реЗрдбреНрдпреВрд▓ рд╣реЛрддрд╛ рд╣реИ рддреЛ рдпрд╣ рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрддрд╛ рд╣реИред рдФрд░ рдпрд╣рд╛рдБ рдЕрдВрддрд┐рдо рдХрд╛рд░реНрдп рд╣реИ, рдЬреЛ рд╣рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рджрд┐рдЦрд╛рдПрдЧрд╛:


 #   def img_plot(result): lengths = [] for k in result.keys(): l = len(result[k].keys()) lengths.append(l) lengths = np.reshape(lengths, (5,5)) display(lengths) plt.figure(figsize=(20,10)) plt.imshow(lengths, interpolation='sinc') plt.colorbar() plt.show() >> array([[ 12, 5, 10, 41, 4], [116, 23, 18, 20, 29], [ 18, 15, 56, 15, 18], [ 29, 20, 18, 23, 116], [ 4, 41, 10, 5, 12]]) 

img_plot


рдкрд░рд┐рдгрд╛рдо


рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм


"рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдореИрдВ рд╕реАрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рд╕реА рд╢рдмреНрдж рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдореБрдЭреЗ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рдПрдХ рдореМрдЬреВрджрд╛ рд╢рдмреНрдж рдорд┐рд▓рддрд╛ рд╣реИ?"
- рдпрд╣ рд╕рдВрднрд╡ рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдмрд╣реБрддред рдХреБрдЫ рдПрди рджреВрд╕рд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╢рдмреНрдж рджреЗрддреЗ рд╣реИрдВред


- рдРрд╕реЗ рдХрд┐рддрдиреЗ рд╢рдмреНрдж "рд╢рд┐рдлреНрдЯрд░реНрд╕" рд╣реИрдВ?
- рдПрди, рдиреНрдпреВрдирддрдо рд▓рдВрдмрд╛рдИ рдкрд░ рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдбреЗрдЯрд╛рд╕реЗрдЯ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрди = 3 рдХреЗ рд╕рд╛рде, 0 рдФрд░ 5 рдХреА рдиреНрдпреВрдирддрдо рд╢рдмреНрдж рд▓рдВрдмрд╛рдИ рдХреНрд░рдорд╢рдГ рд╢рдмреНрджреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИ: 660 рдФрд░ 10ред


- рдФрд░ рдпрджрд┐ рдПрди рдмрджрд▓рддреЗ рд╣реИрдВ рддреЛ рдХреНрдпрд╛ рдХреЛрдИ рдкреИрдЯрд░реНрди рд╣реЛрдЧрд╛?
- рдЬрд╛рд╣рд┐рд░ рд╣реИ, рд╣рд╛рдБ! рдЧреНрд░рд╛рдл (рдпрд╛ рд╣реАрдЯ рдореИрдк) рд╕реЗ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд░рдВрдЧ рд╕рдордорд┐рдд рд╣реИрдВред рдФрд░ рдкрд░рд┐рдгрд╛рдо рдореИрдЯреНрд░рд┐рдХреНрд╕ рдореЗрдВ рдорд╛рди рдЗрд╕ рдмрд╛рдд рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрддреЗ рд╣реИрдВред рдФрд░ рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм "рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реИ?" рдореИрдВ рдЗрд╕реЗ рдкрд╛рдардХ рдкрд░ рдЫреЛрдбрд╝ рджреВрдВрдЧрд╛ред


рдЗрд╕ рдХрд╛рдо рдХреЗ рд╡рд┐рдкрдХреНрд╖


  • рдХрд╛рдлреА рд╕рд╣реА рдбреЗрдЯрд╛рд╕реЗрдЯ рдирд╣реАрдВред рдХрдИ рд╢рдмреНрдж рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдРрд╕рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпреЗ рдЕрдВрдЧреНрд░реЗрдЬреА рднрд╛рд╖рд╛ рдХреЗ " рд╕рднреА " рд╢рдмреНрдж рд╣реИрдВред
  • рдХреЛрдб рд╕рджреИрд╡ рд╕реБрдзрд╛рд░рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
  • "рд╕реАрдЬрд╝рд░ рдХрд╛ рдХреЛрдб" "рдПрдереЗрдирд┐рдпрди рдХреЛрдб" рдХрд╛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓рд╛ рд╣реИ, рдЬрд╣рд╛рдВ рд╕реВрддреНрд░:

рдирдпрд╛рдкрддреНрд░=рдПтИЧрдкрд┐рдЫрд▓рд╛рдкрддреНрд░+рдмреА


"рд╕реАрдЬрд╝рд░ рдХреЗ рд╕рд┐рдлрд░" рдП = 1 рдХреЗ рд▓рд┐рдПред рд╡реИрд╕реЗ, рдЙрд╕рдХреЗ рдкрд╛рд╕ рдЕрдзрд┐рдХ рдмрд╛рд░реАрдХрд┐рдпрд╛рдВ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИред


рдкрд░рд┐рдгрд╛рдо рдХреЗ рд╕рд╛рде рдореЗрд░рд╛ рдХрд╛рдо рдлрд╝рд╛рдЗрд▓ рдФрд░ рдлреНрд▓рд┐рдк рд╢рдмреНрджреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдЗрд╕ рднрдВрдбрд╛рд░ рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИ


Efzp zzhgl!

Source: https://habr.com/ru/post/hi464581/


All Articles