Мы продолжаем обсуждение Python Code Challenges с того места, на котором остановились.

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

Таким образом, в этой серии сообщений мы пытаемся понять решения Pythonic.

Так что пойдем внутрь!

1. Задача: [Новичок] Составить отсортированный список

Напишите программу, которая принимает слова на вход и сортирует их в алфавитном порядке. Эти записи будут храниться через запятую. Ожидается, что вы получите следующий результат:
ввод: сумка, дом, деньги, машина, бассейн → вывод: сумка, машина, дом, деньги , бассейн

Решение:

В Python мы можем разделять слова с помощью функции разделения. И чтобы вызвать это различие в некоторых точках, будет достаточно указать в самой функции («,»). И функция, которая будет вызвана для ввода, создаст наши данные.

С sort() предоставляется правило сортировки элементов для сортировки в алфавитном порядке. И мы делаем решение, завершая объединение массива, который разделен разделением, которое мы отсортировали в алфавитном порядке. А потом:

После запуска, если мы введем слова следующим образом:

Вывод:

2. Задача: [Новичок] Используйте моды и умножение в одной функции

Определите функцию с именем mod_7_times_11. Функция должна принимать число в качестве аргумента, выполнять 7 операций по модулю, умножать результат на 11, а затем возвращать новый результат.

Решение:

При простом описании функции мы часто используем основные математические операции. Однако, чтобы понять по модулю, модуль числа дает остаток от деления этого числа. Например: согласно модулю 5 из 87 результат будет 2. Мы выражаем это с помощью% в Python. В таком случае:

Выход для числа 59:

3. Задача: [Промежуточный] Как определить, является ли число простым или нет.

Когда вы обнаружите, что число не является простым, установите результат False для числа, которое является простым. Создайте конечный цикл с break при указании этой функции.

Решение:

Простое число - это натуральное число больше 1, которое не является произведением двух меньших натуральных чисел. Следовательно, после создания функции остаток должен быть равен нулю при делении на числа, которые будут отсортированы до числа, которое мы будем использовать. Например, наименьшее простое число - 2, и обычно мы можем сразу определить, какое из наименьших чисел находится в числе наименьших. (2, 3, 5, 7 и т. Д.) Мы попытаемся получить эквивалент другого числа, которое нужно ввести, рассматривая 1 и 2 по отдельности:

Давайте рассмотрим 87 в качестве примера:

4. Задача: [Средний уровень] Вычислить наибольший общий делитель двух чисел.

Создайте функцию наибольшего общего делителя для вычисления наибольшего общего делителя двух чисел в цикле с помощью «while».

Укажите переменную run, чтобы контролировать количество операций, которые будут повторяться внутри этой функции.

Используйте оператор%, чтобы вычислить остаток от деления чисел.

Решение:

Его следует использовать, когда мы не знаем, сколько времени займет процесс цикла while. Важно не создавать бесконечных циклов, которые нам не подойдут в нашем проекте. Чтобы найти наибольший общий делитель, мы хотим вычислить частные двух чисел, которые есть у нас в математике.

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

Пример:

Найдем наибольший общий делитель чисел 153 и 117.

  • X=153, Y=117
  • Деление получается как 153/117 = 1 с остатком 36. Мы также можем записать эту операцию как 153 = 117 * 1 + 36.
  • НОД (153,117) = НОД (117,36), а затем найти НОД (117,36)

X=117, Y=36

  • Разделив находим деление 117/36 = 3 и остаток 9. Мы можем записать это так:
  • 117 = 36 * 3 + 9
  • НОД (117,36) = НОД (36,9), а затем найти НОД (36,9)

X=36, Y=9

  • Разделив находим деление 36/9 = 4 и остаток 9. Мы можем записать это так:
  • 36 = 9 * 4 + 0

Таким образом, мы находим наибольший общий делитель в следующем порядке:

gcd (153,117) = gcd (117,36) = gcd (36,9) = gcd (9,0) = 9

gcd (153,117) = 9

Обратите внимание, что число в позиции num2 перемещается в позицию num1 для следующей операции. Чтобы управлять этим, переменная должна быть установлена ​​соответствующим образом.

Итак, теперь мы знаем, что нам нужно:

  • Между двумя числами num1 будет больше, чем num2
  • Мы будем помещать каждую операцию разделения в «while» как итерационный цикл. Важным моментом здесь является то, что количество делений изначально установлено равным нулю.
  • Тогда мы получим остаток от операции деления между двумя числами с помощью оператора%. И цикл продолжится, чередуя num1 и num2.
  • Когда последний остаток равен нулю, мы выйдем из цикла while.
  • Вызов метода форматирования при указании этого с помощью return завершит задачу Python.
def great_common_divisor(num1,num2):
      runs = 0
      while num2 !=0:
          runs =+ runs
          num1, num2 = num1, num1%num2
          print (runs, ". division")
      
      return("this number --> {num1} is great common divisor!".format(num1=num1))

Вывод чисел в примере выглядит так:

Не забывай❗

Используйте цикл while только тогда, когда количество итераций, которые потребуются циклу, неизвестно. Обратите внимание, что цикл While будет запускаться путем проверки логического значения в начале цикла (базовый случай).

5. Задача: [Дополнительно] Текст dosyasini JSON Dosyasina dönüstürün

Создайте программу, которая будет экспортировать файл ‘txt’ как словарь в формате ‘json’. Образцом текста для этого будет вода.

#txt.txt
name Thomas
age 23
birthday 23.03.1979
salary 3450€

Решение:

Прежде всего, когда мы выполняем операцию с данными в формате json в python, для этого импортируется библиотека json.

Мы включаем существующий файл txt в структуру кода, назначая переменную. Чтобы открыть и прочитать текстовый файл, мы выполняем процесс чтения данных построчно, используя with open

Основные операции, которые необходимо выполнить здесь, - это знать, что данные, которые у нас есть, имеют ключ и значение. Следовательно, в соответствии с этой структурой данные, соответствующие строкам как команда и описание, будут включены в определенный массив с полосой и разбиением.

Затем при чтении этого массива файл закрывается with json.dump() и закрывается. Соответственно подготовленный нами txt файл выглядит следующим образом:

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

Вывод:

В этой статье мы выбрали 5 примеров задач и решений, чтобы лучше понять некоторые полезные концепции для тех, кто хочет изучить Python. Надеюсь увидеть вас снова в других подобных статьях. Спасибо за чтение!