web-dev-qa-db-fra.com

Python "ValueError: format incomplet" à l'impression ("stuff%"% "thingy")

Mon objectif avec ce code est que lorsque vous entrez un certain nombre, vous obtenez le numéro et une autre sortie, en fonction de ce que vous avez tapé. Pour une raison quelconque, ce que j'ai ici donne l'erreur "ValueError: format incomplet". Cela a quelque chose à voir avec le%. Que signifie l'erreur et comment puis-je la corriger? Merci!

variable = "Blah"
variable2 = "Blahblah"

text = raw_input("Type some stuff: ")

if "1" in text:
    print ("One %" % variable)
Elif "2" in text:
    print ("Two %" % variable2)
7
Oughh

on s'attend à ce qu'un autre caractère suive le % dans la chaîne pour lui dire comment représenter variable dans la chaîne.

utilisez "One %s" % variable ou "One {}".format(variable) pour corriger le problème.

16
Chad S.
>>> variable = "Blah"
>>> '%s %%' % variable
    'Blah %'
>>> 
5
Ravi Gadhia

un moyen facile:

print ("One " + variable)
1
ᴀʀᴍᴀɴ