resto - redondear a dos decimales python
Encuentra el resto de la división de un número (10)
¿Cómo podría encontrar el resto de la división de un número en Python?
Por ejemplo:
Si el número es 26 y el número dividido es 7, entonces el resto de la división es 5.
(desde 7 + 7 + 7 = 21 y 26-21 = 5)
26% 7 (obtendrás el resto)
26/7 (obtendrás divisor puede ser valor flotante)
26 // 7 (obtendrás divisor solo valor entero))
Desde Python 3.7, hay una nueva función math.remainder()
:
from math import remainder
print(remainder(26,7))
Citando la documentation :
mates. resto (x, y)
Devuelve el resto del estilo IEEE 754 de x con respecto a y. Para finito x y finito distinto de cero y, esta es la diferencia x - n * y, donde n es el entero más cercano al valor exacto del cociente x / y. Si x / y está exactamente a la mitad entre dos enteros consecutivos, el entero par más cercano se usa para n. El resto r = resto (x, y) siempre satisface abs (r) <= 0.5 * abs (y).
Los casos especiales siguen a IEEE 754: en particular, el resto (x, math.inf) es x para cualquier finita x, y el resto (x, 0) y el resto (math.inf, x) aumenta ValueError para cualquier NaN no X. Si el resultado de la operación restante es cero, ese cero tendrá el mismo signo que x.
En las plataformas que utilizan el punto flotante binario IEEE 754, el resultado de esta operación siempre es exactamente representable: no se introduce ningún error de redondeo.
Issue29962 describe la razón fundamental para crear la nueva función.
El resto de una división se puede descubrir utilizando el operador %
:
>>> 26%7
5
En caso de que necesite tanto el cociente como el módulo, existe la función divmod
incorporada:
>>> seconds= 137
>>> minutes, seconds= divmod(seconds, 60)
Modulo sería la respuesta correcta, pero si lo haces manualmente, esto debería funcionar.
num = input("Enter a number: ")
div = input("Enter a divisor: ")
while num >= div:
num -= div
print num
Podemos resolver esto usando el operador de módulo (%)
26% 7 = 5;
pero 26/7 = 3 porque dará cociente, pero el operador% dará el resto.
Si desea evitar el módulo, también puede usar una combinación de las cuatro operaciones básicas :)
26 - (26 // 7 * 7) = 5
Si quiere el resto de su problema de división, simplemente use las reglas del resto real, al igual que en matemáticas. De acuerdo, esto no te dará una salida decimal.
valone = 8
valtwo = 3
x = valone / valtwo
r = valone - (valtwo * x)
print "Answer: %s with a remainder of %s" % (x, r)
Si desea hacer esto en un formato de calculadora, simplemente sustituya valone = 8
con valone = int(input("Value One"))
. Haz lo mismo con valtwo = 3
, pero diferentes variables obviamente.
Sugeriría buscar el operador de modulo
Usa el% en lugar de / cuando divides. Esto devolverá el resto por ti. Entonces en tu caso
26 % 7 = 5
estás buscando el operador de módulo:
a % b
por ejemplo:
26 % 7
Por supuesto, tal vez querían que lo implementaras tú mismo, lo que tampoco sería demasiado difícil.