6
votes

Caractère de format non pris en charge?

J'essaie d'imprimer une ligne avec un format de flotteur à 2 points décimaux comme celui-ci: xxx

mais quand je reçois cette erreur:

ValueError: caractère de format non pris en charge "A '(0x61) à l'index 27

Qu'est-ce que cela signifie et comment puis-je l'empêcher de se produire?


0 commentaires

3 Réponses :


3
votes

Je pense que le problème est avec le signe % après 20 , Python peut-être penser qu'il s'agit d'un spécificateur de format.

Essayez ceci - < Pré> xxx


2 commentaires

Thx, mon programme est opérationnel maintenant


S'il vous plaît, veuillez vous souvenir d'accepter une réponse pour votre question (en cliquant sur la barre de tick sur le côté gauche), cela aiderait la communauté.



5
votes

Le problème est votre 20% , Python lit ... 20% et ... comme "% A"% prix et il ne reconnaît pas % A comme format.

Vous pouvez utiliser 20 %% comme @anand pointe ou vous pouvez utiliser la chaîne .format () : xxx

ici the : 2f vous donne 2 décimales comme avec %%. 2f


0 commentaires

0
votes

Le % Opérateur de Strings traite son opérande gauche sous forme de spécificateur de format. Tous les % SIGNIONS seront traités spécialement.

mais le % après que le 20 n'est pas prévu comme tel et doit donc être échappé correctement: écrire 20 %% . Ceci indique la routine de traitement du spécificateur de format pour le traiter comme un littéral .

ou, comme Scott a écrit, utilisez le nouveau .format () trucs.


0 commentaires