Python fsolve

Funciones y métodos de Python

Los valores de coma flotante no son invocables. Esto se debe a que los puntos flotantes almacenan valores numéricos. No son funciones que devuelvan un valor particular cuando se llaman. Si intenta llamar a un valor de punto flotante como si fuera una función, encontrará un & ldquo; TypeError: & lsquo; float & rsquo; el objeto no es invocable & rdquo; error.

En esta guía, analizamos cómo funciona este error y por qué puede encontrarlo en su código. Analizamos un escenario de ejemplo para ayudarlo a aprender cómo solucionarlo.




TypeError: & lsquo; float & rsquo; el objeto no es invocable

Un conjunto de paréntesis denota una llamada a función . Una llamada a la función indica que se ejecute el contenido de una función. Solo se pueden llamar funciones. Otros valores, como los puntos flotantes, no devuelven valores, por lo que no se pueden llamar.

El & ldquo; TypeError: & lsquo; float & rsquo; el objeto no es invocable & rdquo; El error ocurre si sigue un valor de punto flotante entre paréntesis. Esto puede suceder si:

  • Ha nombrado una variable & ldquo; float & rdquo; e intenta usar la función float () más adelante en tu código.
  • Olvidas un operando en un problema matemático.

Veamos estos dos posibles escenarios en detalle.




Escenario # 1: Nombrar una variable & ldquo; flotar & rdquo;

Escribamos un programa que calcule las propinas que debe recibir cada miembro del personal de un restaurante . El restaurante divide todas las propinas por igual.

Comenzamos pidiendo al usuario que le diga al programa cuánto recibió en propinas y cuántos miembros del personal estaban trabajando en un día en particular usando el método input () :

 staff_working = input ("¿Cuántos empleados estaban trabajando hoy?") float = float (input ("¿Cuánto se ganó en propinas?")) 

A continuación, escribimos un ecuación matemática que calcula cuánto se le debe a cada miembro del personal de servicio en consejos:

El 81% de los participantes dijeron que se sentían más seguros acerca de su tecnología. perspectivas laborales después de asistir a un campo de entrenamiento. Asóciese a un bootcamp hoy mismo.

El graduado promedio de un bootcamp pasó menos de seis meses en la transición de carrera, desde comenzar un bootcamp hasta encontrar su primer trabajo.

Redondeamos la cantidad que cada uno miembro del personal se debe a dos lugares decimales para que tengamos un valor monetario que podamos darle a cada miembro del personal en propinas. Imprimimos esta cantidad redondeada en la consola. A continuación, ejecute nuestro código y vea qué sucede:

 ¿Cuántos empleados estaban trabajando hoy? 7 ¿Cuánto se ganó en propinas? 300 Traceback (última llamada más reciente): archivo "main.py", línea 5, en & lt; módulo & gt; round = round (staff_due, 2) TypeError: el objeto 'float' no es invocable 

Nuestro código devuelve un error. Esto se debe a que hemos asignado un valor de punto flotante a una variable llamada & ldquo; float & rdquo ;. Más adelante en nuestro código, intentamos usar la función float () para convertir un valor en un flotante. Porque hemos asignado & ldquo; flotar & rdquo; un valor numérico, nuestro código no puede llamar a la función float () .


Para resolver este problema, necesitamos cambiar el nombre de nuestra variable & ldquo; float & rdquo;:

 staff_working = input (" ¿Cuántos empleados estaban trabajando hoy? ") added_in_tips = float (input (" ¿Cuánto se ganó en propinas? ")) staff_due = ganó_in_tips / float (staff_working) redondeado = round (staff_due, 2) print (redondeado) 

Hemos cambiado el nombre de la variable & ldquo; float & rdquo; a & ldquo; Saved_in_tips & rdquo ;. Ejecutemos nuestro código:

 ¿Cuántos empleados estaban trabajando hoy? 7 ¿Cómo ¿Cuánto se ganó en propinas? 300 42.86 

Nuestro código se ejecuta correctamente. Cada miembro del personal de servicio debe pagar $ 42.86 en propinas.




Escenario # 2: Operador matemático perdido

T La causa del & ldquo; TypeError: & lsquo; flotar & rsquo; el objeto no es invocable & rdquo; el error a menudo puede deberse a la falta de un operador matemático.

El restaurante ofrece un programa de bonificación en el que el restaurante aplica un aumento del 5% a todas las propinas obtenidas en un día. Esto significa que los camareros ganarán más dinero al final del día, dependiendo de la cantidad de propinas que recauden.

Para tener en cuenta este aumento, debemos revisar nuestra fórmula para calcular los consejos que se deben dar a los miembros del personal:

 staff_working = input ("¿Cuántos empleados ¿estaban trabajando hoy? ") seen_in_tips = float (input (" ¿Cuánto se ganó en propinas? ")) staff_due = 1.05 (ganó_in_tips / float (staff_working)) redondeado = redondo (staff_due, 2) print (redondeado) 

Nuestro código calcula la cantidad que se debe a cada miembro del personal dividiendo cuánto gana en propinas por la cantidad de personal que trabaja. Multiplicamos esto por 1.05 para calcular un aumento del 5% en el total de propinas adeudadas por cada miembro del personal. Ejecutemos nuestro código:

 ¿Cuántos empleados estaban trabajando hoy? 7 ¿Cuánto se ganó en propinas? 300 Traceback (última llamada más reciente): archivo "main.py", línea 4, en & lt; módulo & gt; staff_due = 1.05 (added_in_tips / float (staff_working)) TypeError: el objeto 'float' no es invocable 

Nos encontramos con un error. Esto se debe a que hemos olvidado un operador matemático en nuestro código. 1.05 es seguido inmediatamente por un paréntesis. Python trata esto como una llamada de función en el valor 1.05. Nuestro & ldquo; staff_due & rdquo; la fórmula debe incluir un signo de multiplicación (*):

 staff_due = 1.05 * (added_in_tips / float ( staff_working)) 

Nuestro nuevo código separa el valor 1.05 y el resultado de nuestra ecuación matemática entre paréntesis con un signo de multiplicación. Ejecutemos nuestro código:

 ¿Cuántos empleados estaban trabajando hoy? 7 ¿Cuánto se ganó en propinas? 300 45.0 

Cada miembro del personal de servicio tiene derecho a $ 45.00 del bote de propinas. Esto incluye la bonificación del 5% que el restaurante ofrece a su personal.





Conclusión

El error & ldquo; TypeError: & lsquo; float & rsquo; no es invocable & rdquo; aparece cuando intenta llamar a un número de punto flotante como un función.

Puede resolver este problema asegurándose de no nombrar ninguna variable & ldquo; float & rdquo; antes de usar la función float () . Si no resuelva el problema, asegúrese de que su código incluya todos los operandos matemáticos correctos.

Ahora está listo para resolver este ¡Error de Python como un profesional!





Python fsolve: StackOverflow Questions

Tutorials