Saltar al contenido

¿Cómo soluciono este error “TypeError: ‘str’ object is not callable”?

Solución:

Estás intentando usar la cadena como una función:

"Your new price is: $"(float(price) * 0.1)

Porque no hay nada entre el literal de cadena y el (..) entre paréntesis, Python lo interpreta como una instrucción para tratar la cadena como invocable e invocarla con un argumento:

>>> "Hello World!"(42)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'str' object is not callable

Parece que olvidó concatenar (y llamar str()):

easygui.msgbox("Your new price is: $" + str(float(price) * 0.1))

La siguiente línea también necesita ser arreglada:

easygui.msgbox("Your new price is: $" + str(float(price) * 0.2))

Alternativamente, use formato de cadena con str.format():

easygui.msgbox("Your new price is: ${:.2f}".format(float(price) * 0.1))
easygui.msgbox("Your new price is: ${:.2f}".format(float(price) * 0.2))

dónde {:02.2f} será reemplazado por el cálculo de su precio, formateando el valor de punto flotante como un valor con 2 decimales.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *