Comment puis-je résoudre ce problème "TypeError: l'objet 'str' n'est pas appelable" erreur?
Je suis de la création d'un programme de base qui utilise une interface graphique pour obtenir un prix d'un article, puis de prendre le rabais de 10% sur le prix, si le prix initial est inférieur à 10, ou 20% de rabais du prix, si le prix initial est de plus de dix:
import easygui
price=easygui.enterbox("What is the price of the item?")
if float(price) < 10:
easygui.msgbox("Your new price is: $"(float(price) * 0.1))
elif float(price) > 10:
easygui.msgbox("Your new price is: $"(float(price) * 0.2))
Je reçois cette erreur:
easygui.msgbox("Your new price is: $"(float(price) * 0.1))
TypeError: 'str' object is not callable`
Pourquoi j'obtiens cette erreur?
source d'informationauteur user2443381
Vous devez vous connecter pour publier un commentaire.
Que vous essayez d'utiliser la chaîne comme une fonction:
Parce qu'il n'y a rien entre le littéral de chaîne et le
(..)
parenthèse, Python qui interprète comme une instruction pour traiter la chaîne comme un callable et à l'appeler avec un seul argument:Semble que vous avez oublié de concaténer (et appel
str()
):La ligne suivante besoins de fixation:
Vous pouvez également utiliser la mise en forme de chaîne avec
str.format()
:où
{:02.2f}
sera remplacé par votre de calcul du prix, le formatage de la valeur à virgule flottante comme une valeur à 2 chiffres après la virgule.