Search Header Logo
расшифровка анаграмм

расшифровка анаграмм

Assessment

Presentation

Computers

9th - 12th Grade

Practice Problem

Hard

Created by

Ангелина Агабалова

FREE Resource

7 Slides • 1 Question

1

Создание программы для расшифровки анаграмм

2

import nltk - Импортирует библиотеку nltk, которая предоставляет набор инструментов для обработки естественного языка.

 

nltk.download('words') - Загружает набор слов из nltk.corpus, который используется в программе для проверки, является ли слово допустимым. Если набор слов еще не загружен, эта строка обеспечивает его загрузку.

 

from nltk.corpus import words - Импортирует набор слов из nltk.corpus, который будет использоваться в программе для проверки допустимости слов.

Начало программы

media

3

def decrypt_anagram(anagram): - Определяет функцию, которая принимает аргумент anagram, которую нужно расшифровать.

 

word_list = words.words() - Создает список word_list, содержащий все допустимые слова из набора слов, загруженного ранее.

 

permutations = get_permutations(anagram) - Вызывает функцию get_permutations и сохраняет множество возможных перестановок букв в анаграмме в переменную permutations.

Функция расшифровки анаграммы

media

4

possible_words = set() - Создает пустое множество possible_words, которое будет содержать все возможные слова, полученные из перестановок.

 

for word in permutations: - Перебирает все перестановки word в permutations.

 

if word in word_list: - Проверяет, является ли word допустимым словом путем проверки его наличия в word_list.

 

possible_words.add(word) - Добавляет word в possible_words, если оно является допустимым словом.

 

return possible_words - Возвращает possible_words в качестве результата функции decrypt_anagram.

Функция расшифровки анаграммы

media

5

def get_permutations(anagram): - Определяет функцию get_permutations, которая принимает аргумент anagram для генерации всех перестановок букв в анаграмме.

 

if len(anagram) <= 1: - Проверяет базовый случай для функции get_permutations. Если длина anagram меньше или равна 1, то возвращается множество, содержащее только anagram (единственная возможная перестановка).

 

permutations = set() - Создает пустое множество permutations, которое будет содержать все перестановки букв.

 

for index, letter in enumerate(anagram): - Начинает цикл for, который перебирает все индексы (index) и буквы (letter) в anagram.

 

Функция для перестановки букв

media

6

for permutation in get_permutations(anagram[:index] + anagram[index+1:]): - Начинает вложенный цикл for, который генерирует все перестановки для каждой буквы letter путем вызова функции get_permutations с обновленной анаграммой, исключая текущую букву.

 

permutations.add(letter + permutation) - Добавляет текущую букву letter к каждой перестановке permutation и сохраняет результат в множестве permutations.

 

return permutations - Возвращает permutations в качестве результата функции get_permutations.

Функция для перестановки букв

media

7

anagram = input('Введите анаграмму: ') - Запрашивает у пользователя ввод анаграммы и сохраняет ее в переменной anagram.

 

result = decrypt_anagram(anagram) - Вызывает функцию decrypt_anagram с аргументом anagram и сохраняет результат в переменной result.

 

print(result) - Эта строка выводит результат result на экран.

Конец программы

media

8

Fill in the Blank

Расшифруйте: "gamaarn"

Создание программы для расшифровки анаграмм

Show answer

Auto Play

Slide 1 / 8

SLIDE