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

Python Modulo.

https://youtu.be/8H5R7etnouw Когда я изучал компьютерную науку, профессора подталкивали нас к изучению теории по модулю и остаточным классам. Но многие из нас не хватало мотивации. Мы не могли видеть, почему вычисление оставшейся части дивизии, то есть модуло, является такой важной концепцией. Тем не менее, многие практические кодовые проекты позже я приобрел опыт … Python Modulo Подробнее »

Автор оригинала: Chris.

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

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

Оператор модуля Python

В виде Python, как во многих других языках программирования, оператор модуля представлен процентом % символ. Возвращает остаток разделить налево правым операндом. Например, операция по модулю 7% 2 Возвращает 1 Потому что семь разделенных на два – три с остальными 1 Отказ

На рисунке показано, как оператор модуль работает в Python для примера 7% 3 Отказ

  • Есть набор с семью элементами. Это дивиденды операции.
  • Divisor 3. Вы разделяете множество семи элементов в пакеты из трех элементов.
  • Остальная часть 1. При делите набор из семи элементов в пакеты из трех элементов, один остается. Это результат работы модуля.

Вот несколько примеров:

7/2.5 7%2 7//2
8/2.0 8%2 8//2
10/3.33 10%3 10//3
14/5.8 14%5 14//5

Стол показывает результат нанесения трех разных операторов до двух операндов:

  • Оператор дивизии / Это делит левый правый операнд и возвращает относительно точное значение float.
  • Целочисленное разделение Оператор // Это делит левый правый операнд и возвращает абсолютное (закругленное) целочисленное значение.
  • Оператор по модулю % Это делит левый правый операнд, используя целочисленное разделение и возвращает оставшуюся часть целочисленного подразделения.

Python Modulo для цикла

Предположим, ваш код имеет главный петля И вы хотите выполнить функцию мониторинга каждую тысячную итерацию Я Отказ Модуло твой друг здесь: просто проверьте Я% 1000 == 0 Отказ

for i in range(10**4):
    if i%1000 == 0:
        print(i)

Выходные данные состоят из 1000 – которые делится без остатка:

0
1000
2000
3000
4000
5000
6000
7000
8000
9000

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

Python Modulo Integer и float

Оператор% Modulo используется для подразделения остатка на целые числа Отказ Но в Python вы также можете применить его к Плавающая точка числа. Во-первых, он преобразует числовые аргументы общему типу – либо плавать, либо Int. Во-вторых, это дает остаток от разделения первого аргумента на второй.

Есть три случая использования целочисленного и поплавка в вычислении модуля:

  1. Два целых числа
  2. Одно целое число и один поплавок
  3. Две поплавки

Сначала рассчитайте модуль двух целых чисел:

>>> 5%3
2

Во-вторых, рассчитать модуль целого числа и поплавок:

>>> 5.5%3
2.5

В-третьих, рассчитать модуль двух поплавок:

>>> 5.5%3.2
2.3

В каждом случае он разделяет первый операнд на второе место и возвращает оставшуюся часть подразделения.

Python Modulo, если заявление

Частое использование оператора модуля находится в пределах, если состояние:

# If Statement + For Loop with Modulo
i = 1
for i in range(15):
   if i%5 == 0:
     print(i)

Обратите внимание, что модуль % Оператор имеет приоритет над == оператор.

Упражнение : Возьмите предположение – какой вывод этого кода фрагмент? Вы можете проверить его в интерактивном коде оболочку:

Python Modulo Отрицательные числа

Можете ли вы использовать оператор Modulo % на негативных числах? Ответ да! В отличие от C или C ++, модуль Python Modulo % Всегда возвращает номер с тем же знаком, что и делитель. Например, -9% 2 возвращается 1, потому что дивизор положительный, 9% -2 возвращается -1, потому что дивизор отрицательный, а -9% -2 возвращается -1, потому что дивизор также а). Там нет «отмены» двух негативов.

Вот два примера:

print(-9%2)
print(9%-2)
print(-9%-2)

Выход имеет тот же знак, что и делитель 2 и -2:

1
-1
-1

Вы можете найти причину знака результата Modulo на Википедия :

Тем не менее, это все еще оставляет знак неоднозначности, если остальная часть – ненулевая: произойдет два возможных варианта остатка, один отрицательный и другой положительный и два возможных выбора фактифицируют. По теории чисел, положительный остаток всегда выбирается, но в вычислениях, языки программирования выбирают в зависимости от языка и знаков a или n. Стандартный Pascal и Algol 68, например, дают положительный остаток (или 0) даже для отрицательных делителей, а некоторые языки программирования, такие как C90, оставьте его в реализации, когда либо N или A отрицателен (см. Таблицу под § На языках программирования для деталей). Модуло 0 не определено в большинстве систем, хотя некоторые определяют его как.

Python Modulo String.

Оператор Modulo% перегружен классом String, где это означает “Форматирование строки” а не «Расчет напоминания» Отказ Многие кодеры называют это этим «Строковый модуль Оператор» – и это доступно от Python 3.x вперед.

name = "FINXTERS!"
print('Hello %s' % name)
# Hello FINXTERS!

Вы можете узнать все о форматировании строки в нашем подробном руководстве.

Python Modulo Puzzle.

Можете ли вы решить эту головоломку Python о модуле?

x = 51 % 3
print(x)

Вы можете проверить, правильно ли вы почернели его в приложении Finxter. Вы мастер-кодер? Проверьте свои навыки сейчас!

Связанное видео.

Арифметические операторы

Арифметические операторы – синтаксические ярлыки для выполнения основных математических операций по номерам.

Оператор Имя Описание Пример
+ Добавление Расчет суммы двух операндов 3 + 4
Вычитание Вычитание второго операнда с первого операнда 4 – 3
* Умножение Умножить первый со вторым операндом 3 * 4
/ Разделение Разделение первого на второй операнд 3 / 4.75
% Модуль Расчет остатка при делите первого на второй операнд 7 % 4
// Целочисленное разделение, напольное разделение Разделение первого операнда на второй операнд и закругление результата до следующего целого числа 8 // 3
** Экспонент Поднимая первый операнд на силу второго операнда 2 ** 3

Куда пойти отсюда?

Достаточно теории, давайте познакомимся!

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

Практические проекты – это то, как вы обостряете вашу пилу в кодировке!

Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?

Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.

Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.

Присоединяйтесь к свободному вебинару сейчас!

Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.

Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python One-listers (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.

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