Начните со следующего кода Python.
алфавит = "abcdefghijklmnopqrstuvwxyz"
test_dups = ["zzz", "собака", "бухгалтер", "субдерматоглифы c", "субдерматоглифы"]
test_miss = ["zzz", "subdermatoglyphi c", "быстрая коричневая лиса перепрыгивает через ленивую собаку"]
Из Раздела 11.2 из:
Дауни, А. (2015). Думай Python: Как думать как компьютерный ученый. Нидхэм, Массачусетс: Green Tree Press.
def гистограмма (и): d = dict () для c в s: if c не в d: d [c] = 1 else: d [ c] + = 1 return d
Скопируйте приведенный выше код в свою программу, но напишите весь остальной код для этого назначения самостоятельно. Не копируйте код из другого источника. Часть 1
Напишите функцию с именем has_duplicates, которая принимает строковый параметр и возвращает True, если строка содержит какие-либо повторяющиеся символы. В противном случае он должен вернуть False.
Реализуйте has_duplicates, создав гистограмму, используя функцию гистограммы выше. Не используйте никакие реализации has_duplicates, приведенные в вашем учебнике. Вместо этого ваша реализация должна использовать счетчики в гистограмме, чтобы определить, есть ли какие-либо дубликаты.
Напишите al oop поверх строк в предоставленном списке test_dups. Распечатайте каждую строку в списке и укажите, есть ли в ней какие-либо дубликаты, на основе возвращаемого значения has_duplicates для этой строки. Например, вывод для «aaa» и «ab c» будет следующим.
aaa имеет дубликаты ab c не имеет дубликатов
Выведите строку, подобную одной из приведенных выше, для каждой из строк в test_dups.
Часть 2
Напишите функцию с именем missing_letters, которая принимает строковый параметр и возвращает новую строку со всеми буквами алфавита, которых нет в строке аргумента. Буквы в возвращаемой строке должны быть в алфавитном порядке.
Ваша реализация должна использовать гистограмму из функции гистограммы. Также следует использовать глобальную переменную алфавита. Он должен использовать эту глобальную переменную напрямую, а не через аргумент или локальную копию. Необходимо l oop букв в алфавите, чтобы определить, какие из них отсутствуют во входном параметре.
Функция missing_letters должна объединить список пропущенных букв в строку и вернуть эту строку.
Напишите al oop над строками в списке test_miss и вызовите missing_letters с каждой строкой. Выведите по строке для каждой строки с пропущенными буквами. Например, для строки «aaa» вывод должен быть следующим.
aaa отсутствуют буквы bcdefghijklmnopqrstuvwxyz
Если в строке есть все буквы алфавита, в выводе должны быть указаны все буквы. Например, вывод для самого строкового алфавита будет следующим.
abcdefghijklmnopqrstuvwxyz использует все буквы
Выведите строку, подобную одной из приведенных выше, для каждой строки в test_miss.
Отправьте вашу программу Python. Он должен включать следующее.
Предоставленный код для алфавита, test_dups, test_miss и гистограммы. Ваша реализация функции has_duplicates. L oop, который выводит повторяющуюся информацию для каждой строки в test_dups. Ваша реализация функции missing_letters. L oop, выводящий пропущенные буквы для каждой строки в test_miss. Также отправьте результат выполнения вашей программы.