Что такое мод в математике? — Часто задаваемые вопросы по Python
catower
#1
Вопрос
Что означает mod ? Особенно когда пишется X mod Y?
Ответ
mod — это сокращение от modulo, математическая функция, которая означает получение остатка от деления. Он представлен % в питоне и написан как X % Y 9.0020 можно прочитать как X по модулю Y или X по модулю Y.
Используется для получения остатка от деления. Например:
15 % 4 = 3 >> 15/4 = 12 с остатком 3
Для дальнейшего изучения см. упражнение Codecademy Python 3 по модулю.
мхиллс200
#2
Я нахожусь в разделе «Много математических функций Python». Это последний экран перед завершением урока.
Меня просят «вернуть третье напечатанное число по модулю а». Что именно это просит меня сделать?
7 лайков
beefroe
#3
У меня был тот же вопрос. Mod — это сокращение от modulo, что означает %.
8 лайков
objectpro66930
#4
Мод очень много значит для некоторых из нас, это могут быть модули, модификации, модерации, так что исправьте это упражнение как можно скорее, потому что оно сбивает с толку.
9 лайков
mussussu
#5
Наконец, он должен вернуть третье число напечатано мод a , это плохо написанный шаг, кто бы ни написал это упражнение, пожалуйста, опуститесь на наш уровень, я знаю, что вы эксперт, но это первое Когда я узнал об этом слове «мод», это упражнение сбивает с толку! ты можешь работать лучше
6 лайков
21 ноября 2019 г., 20:30
#6
объектпро66930:
Мод много значит для некоторых из нас, это могут быть модули, модификации, модерации, так что исправьте это упражнение
Хотя путаница досадна, модульная арифметика — это математическая система, существовавшая задолго до появления компьютера.
Применение Таким образом, мод не ограничивается ни программированием, ни материалами Codecademy; это математика, так что, боюсь, вам придется к ней привыкнуть.
3 лайка
cseby2000
#7
Ужасный ответ службы поддержки! Зачем усложнять это, добавляя жаргон, которого большинство не знает. Вы могли бы легко пропустить «мод» и попросить вернуть остаток «а», и этой ветки бы не существовало!
1 Нравится
5 декабря 2019 г., 16:57
#8
cseby2000:
Зачем усложнять это, добавляя жаргон, которого большинство не знает.
Программирование сложно, и обучение по самой своей природе будет включать в себя множество вещей, которые «неизвестны». Большая часть вашего времени как программиста, скорее всего, будет потрачена на поиск информации и изучение вещей, которые вы либо а) не видели раньше и/или б) не полностью понимаете.
Примером может служить использование mod в этом контексте: вы увидели это, не поняли и отправились искать дополнительную информацию, которая поможет вам разобраться в этом, прежде чем оказаться здесь. Это процесс, с которым вам следует ознакомиться.
cseby2000:
Вы могли бы легко пропустить слово «мод» и попросить вернуть остаток «а», и этой ветки не существовало бы!
Я могу только предполагать, так как у меня нет доступа к конкретному упражнению (поскольку я не Pro и не сотрудник Codecademy), что, поскольку это упражнение касается конкретно оператора mod ulo, конкретное утверждение a mod b предназначено для подсказки использования оператора % , о котором вы узнали.
. Он также знакомит вас с обозначениями.
В противном случае, если в упражнении просто запрашивается остаток, вы можете найти какой-то альтернативный механизм для его вычисления, когда достаточно одного оператора.
3 нравится
гига6525893525
#9
Я согласен с предыдущим ответом, что это было плохо написанное упражнение. Это не первый раз, когда у меня возникают проблемы с инструкцией.
1 Нравится
равикумар8392698897
#10
В любом упражнении по программированию чтение инструкций имеет решающее значение.
Это достаточно ясно, чтобы увидеть, что я получу взамен.
def lot_of_math(a, b, c, d):
print(a + b)
print(c - d)
print((a + b) * (c - d))
return ((a + b ) * (в - г)) % а
2 лайка
vr44
#11
Пришел сюда, потому что растерялся и увидел, что я не один! Я, если бы предыдущий пример объяснялся этим словоблудием, я бы знал, что делать.
thecodingbean
#12
До этого момента в упражнениях % всегда упоминалось как mod ulo, поэтому, если они вдруг изменят то, как они ссылаются на % , они должны по крайней мере иметь объяснение в подсказке, если не в фактические инструкции.
thepitycoder
№13
thecodingbean:
, поэтому, если они внезапно изменят то, как они относятся к
%, они должны хотя бы иметь объяснение в подсказке, если не в реальных инструкциях.
Я думаю, что разработчики урока предположили, что, учитывая, что все упражнение вращается вокруг использования оператора по модулю % , вы сможете сделать вывод, что «мод» == «по модулю».
Путаница, конечно, досадная, но я не думаю, что это такой большой скачок. Кроме того, в случае, если 
1 Нравится
Функция мода
| Индекс статей |
|---|
| Функция модификации |
| Интерн. |
| Еще несколько продвинутых идей |
Страница 1 из 3
Какое отношение модульная арифметика имеет к реальному миру?
Любой опытный программист должен дать вам ответ "много". Это не только основа для многих алгоритмов, но и часть аппаратного обеспечения.
Многие программисты озадачены модом, сокращением от modulo, и функциями/операторами целочисленного деления, которые можно найти почти во всех языках.
Модульная арифметика раньше была чем-то, с чем сталкивался каждый программист, потому что она является частью аппаратного обеспечения каждой машины. Вы найдете его в том, как числа представлены в двоичном виде, в машинном коде или в инструкциях на языке ассемблера.
Как только вы откажетесь от представления чисел в виде битовых строк и арифметических операций через регистры, многие операции по модулю и остатку потеряют свое непосредственное значение, столь знакомое программистам на ассемблере.
Возможно, вы не встретите функцию или оператор мода в процессе обучения программированию, но как только вы начнете писать настоящий код, вы обязательно с ним встретитесь. Как только вы начнете реализовывать даже самые простые алгоритмы, возникнет необходимость разбираться в модах.
Пассивный и активный
Функция mod(x,y) или, скажем, оператор mod x % y в Python, C# или JavaScript, очень проста, но вы можете думать об этом по крайней мере двумя разными способами — грубо говоря, в соответствии с пассивными и активными моделями. того, что происходит.
- Сначала пассив:
Наиболее очевидное определение:
mod(x,y) или x % y дает остаток при делении
x на yостается, если вы делаете что-то в «кусках y».
Например, текстовый файл состоит из 20000 строк, а на странице можно разместить 66 строк — сколько текста останется? Ответ 2, потому что mod(20000,66)=20000 % 66 =2.
Всякий раз, когда у вас возникает проблема, связанная с измельчением чего-либо на группы обычного размера, вам пригодится функция/оператор мода, чтобы решить, как поступить с остатками.
он сообщает вам остаток после того, как вы сгруппировали x вещей в группы размера y.
Этому определению немного сложнее следовать, но оно по-прежнему тривиально, если вы изучали «арифметику с часами» как часть современной математики в школе.
Если нет, то еще не поздно.
Арифметика часов
Представьте себе циферблат с числами от 0 до y-1, тогда подсчет по модулю y — это просто процесс продвижения от числа к числу, пока вы не достигнете y-1, когда вы «перевернетесь» на 0 и начнете последовательность снова.
Итак, если считать по модулю 6, получится 0,1,2,3,4,5, 0,1,2,.. и так далее.
Обратите внимание, что при подсчете по модулю 6 целое число 6 фактически не встречается.
Аналогичным образом работает арифметический мод, перемещая стрелку часов вперед или назад на требуемую величину.
Например, 4+3 = 1 и 2-5 = 3 в арифметическом модусе 6.
То есть на циферблате от 0 до 5, начните с 4 и переместите стрелку на 3, и она укажет на 1.
Аналогичным образом, начав с 2 и переместив 5 назад, стрелка станет на 3.
Умножение и деление работают точно так же, как только вы вспомните, что умножение — это многократное сложение, а деление — многократное вычитание.
Однако, как правило, проще выполнить арифметические действия, игнорируя «циферблат», а затем находя представление результата на циферблате. Например, 5 * 8 равно 60, и если вы начнете со стрелки часов на 0 и переместите ее на шестьдесят делений, вы получите 4.
В программировании все, что вам нужно сделать, это выполнить арифметические действия обычным способом, т.е. 5 * 8 = 40, а затем используйте функцию mod, чтобы найти его представление на циферблате -
. мод(5*8,6)=мод(40,6)=4.
Для другого примера рассмотрим арифметику по модулю 7, тогда 4*2 по модулю 7:
Мод(4*2,7)=Мод(8,7)=1
Как видите, это изображение циферблата и движущегося указателя подходит для всех видов моделирования объектов реального мира.
Например, набор циферблатов, записывающих значения в смешанных единицах по разным основаниям, может быть представлен счетом в разных основаниях мод.
Если считать в ярдах, футах и дюймах (3 фута в ярде и 12 дюймов в футе), вы должны использовать что-то вроде
. дюймов=mod(дюймы+1,12)
ЕСЛИ дюймы превышают ТОГДА футы=mod(футы+1,3)
ЕСЛИ футы превышают ТО ярды=ярды+1
Целочисленное деление
Теперь мы подошли к интересному вопросу; как сказать, когда счетчик модов перевернулся.
Добавлять единицу к счетчику каждый раз слишком просто, потому что вы можете просто проверить, что счетчик обнулился после обновления.
Более интересная проблема заключается в том, как проверить перенос при добавлении произвольного значения. Например, как узнать, на сколько следует увеличивать футы после
? дюймов=mod(дюймы+инк,12)
Ответ требует целочисленного деления, которое является второй половиной мода.

