Рубрики
Без рубрики

5 прохладных упражнений Python

Первые вещи первыми, репо всеми упражнениями этой лекции здесь прямо здесь: https: // gith … Теги с Python.

Первые вещи вначале, репо со всеми упражнениями этой лекции прямо здесь:

https://github.com/hugoestradas/Python_Basics

Давай начнем!

1) Найти главные факторы.

Для очень оснований начнем с чего-то необычного: шифрование открытого ключа. Эта техника зависит от определенных действительно больших чисел, которые являются вычислительными для фактора, чтобы сохранить безопасность данных. В этом первом упражнении я буду фачать некоторые числа, с которыми легко иметь дело; Цель состоит в том, чтобы создать функцию Python, чтобы найти все основные факторы, я сделаю это, принимая целочисленное значение в качестве ввода, а возвращение или вывод станет списком главных факторов.

В этом решении я решил искать факторы, разделив данные последовательно большие значения (начиная с 2), чтобы увидеть, какой из них равномерно в него делятся, не оставляя остаток позади:

Как вы можете видеть, я называю функцию с номером 500, поэтому начнется с 2 в качестве оригинального дивизора, то он будет продолжать разделиться до тех пор, пока остаток больше не будет четным числом, в этом случае, приводящем к Результат 2, 2, 5 и, наконец, 5:

2) Определение палиндромов.

Это очень обычное программирование и программное упражнение, возможно, вы уже сделали это на коллеге, школе или просмотрев другой учебник, это очень крутая головоломка для решения, потому что включает распознавание структуры, логику и, конечно, кодирование.

В случае, если вы впервые занимаетесь палиндроменами, палиндром – это слово или текст, который точно так же, вперед, либо назад.

Опять же, я напишу функцию для обнаружения палиндромов, где мой вход будет строкой, я проверяю, и результат или выход будет логическим значением (false/true):

Линейка по линии, сначала я импортирую библиотеку «Re», которая содержит регулярные выражения для извлечения букв от входной строки, то я определяю функцию «палиндрома», которая получает параметр «String». Затем я использую нижний оператор в входной строке для преобразования всех букв в нижний регистр, то я передаю результат к функции регулярного выражения «Findall» с рисунком, который будет искать комбинации одного или нескольких букв. Tat предоставит список со всеми сопоставленными подтяжками, которые я объединился в одну строку, используя функцию «Присоединиться».

Затем я нарезаю всю строку, с шагом, установленным на отрицательный, что означает, что я получу копию исходной строки в обратном порядке.

Наконец, я сравниваю оба строки, и верну его:

3) Сортировать строку.

Другая общая задача в программировании – сортировка вещей.

Цель состоит в том, чтобы создать функцию Python, которая сортирует слова в данной строке.

Вход будет список слов, разделенных пробелами, и результат или выход будет та же строка слов сортированы в алфавитном порядке:

Моя «сортированная» функция начинается с метода «разделения», который разбивает входную строку на каждом из пробелов и дает мне список отдельных слов.

Затем, чтобы игнорировать капитализацию (если есть какие-либо) в цикле я преобразую каждое слово в список в нижний регистр, чтобы позже сортировать весь список:

4) Игра ожидания.

Для этого упражнения я напишу функцию Python, которая, когда вызывается, она будет напечатана сообщение для ожидания случайного количества времени.

Пользователь нажимает входит, затем запускается таймер. Цель пользователя состоит в том, чтобы дождаться указанного количества секунд в сообщении, а затем нажмите Enter еще раз.

Для этого упражнения я использовал модули, «время» модуль для измерения количества времени, а также «случайного» модуля для генерации случайного количества секунд.

Функция ввода подсказывает пользователю нажать Enter, чтобы начать, а затем блокирует выполнение, пока пользователь не попадает в систему.

5) Создайте новый пароль.

Для этого окончательного примера я реализую функцию на основе метода «Diceware», который представляет собой способ создания паролей и паролей, используя количество обычных кубиков в качестве генератора случайного номера оборудования. Это включает в себя список более 7000 разных слов.

Вместо прокатки физических костей я напишу функцию Python, которая имитирует это поведение.

Вход будет несколько слов в парольном фразе, а выход или результат будет строка случайных слов, разделенных пробелами.

Для этого я мог бы использовать «случайный» модуль, но вместо этого я пошел на «секретный» модуль, поскольку случайный модуль не рекомендуется при работе с криптографическими процедурами:

Моя функция начинается с получения количества слов, затем открывая файл «Diceware.Wordlist.asc» с контекстно-менеджером, а затем использует функцию «readlens», чтобы получить список с каждой из строк в файле.

Вершина файла Diceware, которую у меня использовал, имеет две дополнительные строки до начала начала слова слов, а внизу также есть несколько дополнительных линий для подписи PGP:

Поэтому я проинтексировал линии 7k (7776) с середины файла, о котором я действительно забочусь. Помните, что каждая из этих строк содержит как из пятизначного числа, так и соответствующее слово, я использовал метод разделения, чтобы разбить их отдельно, а затем построить список, содержащий только слова.

Затем я использовал функцию «Secrets.Choice» в течение другого списка, чтобы построить список с желаемым количеством случайных слов.

И, наконец, я использовал метод соединения для объединения случайных слов в одну строку с пробелами между ними:

Оригинал: “https://dev.to/hugoestradas/5-cool-python-exercises-42gj”