Вопрос Объясните что именно высчитывает питон при выводе остатка?

Регистрация
30 Июл 2013
Сообщения
59
Репутация
0
Спасибо
0
Монет
0
Начала изучать питон, не могу понять как именно считает машина, если данные расчеты понятны:

print(10/3)

3.3333335

print(10//3)

3



То вывод

print (10%3)

1

Понять не могу. Что именно он выводит?????? Объясните простым языком, потому что по объяснениям в инете вывод должен быть 333335
 
%3 это остаток от деления на 3, а при делении 10 на три у тебя получится 9 и 1 в остатке. поэтому ответ 1
//3 это деление на 3 нацело(без остатка)
а /3 это обычное деление как на калькуляторе
 
10 / 3 = 3.3333333333333335 - это не вина Питона и всех прочих языков программирования, а проблема двоичной системы счисления, которой мыслит процессор компьютера. В двоичной системе нельзя представить числа 0.3 и 0.7 абсолютно точно. Так что в таких случаях нужно округлять
 
print(10/3) выведет 3.3333333333333335 - 16 точных цифр и только потом погрешность округления. Результат 10/3 (деление вещественных чисел) - вещественное число, которое ВСЕГДА является приблизительным значением. За подробностями - изучай тему "формат представления вещественных чисел в компьютерах".

10 // 3 - целочисленное деление, которое изучается в начальной школе на уроках арифметики. В Python используется деление с округлением к минус бесконечности (округление к ближайшему целому числу не больше вещественного частного). Так результатом 10 // 3 будет 3 (точное значение частного 3.(3) округляем вниз до целого), а результатом -10 // 3 будет -4 (точное значение частного -3.(3) округляем вниз до целого).

10 % 3 - остаток от деления: точно так же, как ты это делал на уроках арифметики в начальной школе. Формула остатка, используемая в языках программирования:

a % b == a - (a // b) * b
 
Назад
Сверху