Мне нужно проверить, является ли каждое число от 1 до 1000 кратным 3 или кратным 5. Я думал, что сделаю это, разделив это число на 3, и если результат будет целым числом, тогда он делится на 3. То же самое с 5.
Как проверить, является ли число целым?
вот мой текущий код:
n = 0
s = 0
while (n < 1001):
x = n/3
if isinstance(x, (int, long)):
print 'Multiple of 3!'
s = s + n
if False:
y = n/5
if isinstance(y, (int, long)):
s = s + n
print 'Number: '
print n
print 'Sum:'
print s
n = n + 1
Ответы:
Вы делаете это с помощью оператора модуля,
%
оценивает истину тогда и только тогда, когда
n
является точным кратнымk
. В элементарной математике это называется остатком от деления.В вашем текущем подходе вы выполняете деление, и результат будет либо
Это просто неправильный подход к проверке делимости.
источник
0 == 0*5
Вы можете просто использовать
%
оператор модуля, чтобы проверить делимость.Например:
n % 2 == 0
означает, что n точно делится на 2 иn % 2 != 0
означает, что n не делится точно на 2.источник
У меня был такой же подход. Потому что я не понимал, как использовать оператор модуля (%).
6% 3 = 0 * Это означает, что если вы разделите 6 на 3, у вас не будет остатка, 3 - это коэффициент 6.
Теперь вы должны соотнести это с вашей проблемой.
if n% 3 == 0 * Это означает, что если мое число (n) делится на 3, остается 0 остаток.
Добавьте оператор then (print, return) и продолжайте
источник
Вы можете использовать оператор%, чтобы проверить делимость данного числа
Код для проверки, дано ли нет. делится на 3 или 5, если нет. менее 1000 приведено ниже:
источник
Кажется, этот код делает то, о чем вы просите.
Или что-то вроде
Или любое количество вещей.
источник
источник
x=10000000000000000; b = str(x/(x-1)); b
в интерпретаторе Python.Для небольшого количества
n%3 == 0
будет нормально. Для очень больших чисел я предлагаю сначала вычислить перекрестную сумму, а затем проверить, кратна ли перекрестная сумма 3:источник
Попробуй это ...
источник
jinja2 шаблон fizzbuz:
источник
Самый простой способ - проверить, является ли число целым
int(x) == x
. В противном случае то, что сказал Дэвид Хеффернан.источник