He estado experimentando con las habilidades matemáticas de Python y encontré un comportamiento interesante. Está relacionado con la siguiente expresión:¿Por qué Python evalúa esta expresión incorrectamente?
(4+4)+3/4/5*35-(3*(5+7))-6+434+5+5+5
>>> 415
Sin embargo, si se evalúa la expresión con el orden natural de las operaciones en mente, la respuesta debe ser 420.25. También he comprobado dos veces con WolframAlpha, que da una respuesta de 420.25. ¿Por qué Python está dando una respuesta diferente? ¿Tiene algo que ver con la forma en que evalúa tales expresiones? ¿Hay alguna convención que sea la siguiente? Cualquier información sería muy apreciada, ¡gracias!
Supongo que si encuentra '3/4/5 * 35' ambiguo y lo evalúa de manera diferente a como lo hace. Es mejor poner algunos paréntesis allí – inspectorG4dget
las reglas de precedencia de un lenguaje de programación pueden no serlo y en este caso no son exactamente iguales a las matemáticas regulares. también en matemáticas regulares esa expresión evalúa a aproximadamente 415.00428571428574 – ChessMaster
¿Intentó hacer ejemplos más simples? –