Привет, народ!
Этот пост для тех, кто только начинает программировать.
Недавно я столкнулся с интересной проблемой, занимаясь программированием и решением проблем в hacker-rank. На первый взгляд это казалось легким, но после более чем 15-минутного программирования я понял, что неправильно понял вопрос, и это было чисто из-за волнения. Мы рассмотрим вопрос сейчас,
Вопрос: Панграмма — это строка, содержащая все буквы алфавита. Учитывая список предложений, верните 1, если предложение является панграммой, и 0, если это не так. В предложениях будут только строчные буквы и пробелы.
Пример: n=4 ;
предложения :
”мы оперативно оценили старинные пряжки из слоновой кости на следующий приз”,
“мы оперативно рассмотрели старинные пряжки из слоновой кости на призы”,
“быстрая коричневая лиса перепрыгивает через ленивую собаку”,
“ быстрая коричневая лиса перепрыгивает через ленивую собаку»
Вывод: 1010 (объяснение: в предложениях 1 и 3 есть все буквы английского алфавита, а во 2 и 4 — не все буквы алфавита)
Решение:
Обсуждение:
Для проверки алфавитов нам нужна ссылка, поэтому я создал строку с именем abcd, в которой будут все строчные буквы алфавита (которые можно в дальнейшем преобразовать в списки). Логика проста, повторяйте элементы списка (в данном случае предложения) и сохраняйте все уникальные алфавиты в предложениях в пустой список. Сортируй. Проверьте, равен ли этот список списку строчных букв.
Вступает первый элемент, я = «мы быстро оценили старинные пряжки из слоновой кости для следующего приза». lp(пустой список) хранит отдельные символы строки.
Теперь повторите lp, чтобы удалить пробелы и сохранить уникальные алфавиты в новом (пустом списке). Сортировать новые. Наконец, проверьте, совпадает ли он со списком (abcd) или нет.
Когда я представил, я столкнулся с новой проблемой. Возврат 1 и 0 не должен быть мгновенным. т. е. результат должен быть напечатан только тогда, когда все элементы завершили свою итерацию. Следовательно, я сохранил их как строковые символы и вернул бы их, когда список ввода будет выполнен итерации.
После каждой итерации очистка строки поможет легко добавить новые символы списка.
Вывод:
Существует бесконечное количество решений проблемы, путь, которым мы действуем с непредубежденностью, - это то, где мы достигаем решения. Я не эксперт, чтобы давать жизненные советы, и да, не стесняйтесь выражать свое мнение. Спасибо за чтение, ура!
код: https://github.com/Jags23/Python_codes/blob/main/pangram.py