[Python] Afficher des données sans espaces

Petite colle en Python, mon prof n’a pas su me répondre, et le url="http://www.python.org/doc/2.2.3/ref/print.html"FM[/url] non plus.

J’arrive pas à faire des print sans espaces.
Admettons que je veuille afficher “debut1fin”.

En PHP, aucun problème :

[code]$a = ‘debut’;
$i = 1

affiche debut1fin[CODE]

print($a.$i.‘fin’);[/code]

En Python, j’y arrive pas :

[code]a = 'debut’
i = 1

methode classique qui met un espace a chaque virgule

affiche debut 1 fin

print a, i, ‘fin’

methode qui devrait fonctionner

PythonWin retourne TypeError: cannot concatenate ‘str’ and ‘int’ objects

print a+i+‘fin’[/code]
Comment faire pour que Python n’insère pas d’espaces à l’affichage d’une chaîne intégrant des entiers et des chaines de caractères ?
Ca serait pour utiliser dans des boucles, par exemple.
Merci.

En rédigant ce thread, je viens de penser à ça :

a = 'debut' i = 1 while i <= 10 : &nbsp; &nbsp;j = str(i) &nbsp; &nbsp;print a+j+'fin' &nbsp; &nbsp;i = i + 1

Ca marche mais y’a pas plus simple ?

En gros la solution que t’as trouvé c’est de passer ton integer en string ? (Non parce que je vois pas trop l’interêt de la boucle dans la solution :P)

Voui, c’est ça, avec str(i) je change i en string, la boucle est un (mauvais) exemple.

Si je reprends l’ancien code :

[code]# but : afficher “debut1fin” en melangeant des chaines et des entiers
a = 'debut’
i = 1

methode “classique” qui met un espace à chaque virgule

print a, i, ‘fin’

affiche : “debut 1 fin”

print a+i+‘fin’

PythonWin retourne TypeError: cannot concatenate ‘str’ and ‘int’ objects

#ca fonctionne en utilisant str()
print a+str(i)+‘fin’

affiche : “debut1fin”[/code]

Je voulais savoir si on pouvait éviter le str(i) en utilisant par exemple une syntaxe de print() que je ne connais pas.

Edit : on ne met pas d’accent dans les programmes Python …

[quote name=‹ Moe › date=’ 6 Nov 2004, 15:23’]Je voulais savoir si on pouvait éviter le str(i) en utilisant par exemple une syntaxe de print() que je ne connais pas.
[right][post=« 299817 »]<{POST_SNAPBACK}>[/post][/right][/quote]
Perso, je ne connais pas de syntaxe spéciale, non… Mais je suis loin d’être un spécialiste du python. Celà dit, utiliser str() c’est pas la mort non plus :stuck_out_tongue:
Bon courage :stuck_out_tongue:

On peut aussi utiliser la fonction de formatage des Strings :

[code]>>> print « %s%d%s » %(a,12,« fin »)
debut1fin

[/code]

La doc qui explique tout ça