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)