Stampa senza spazio in python 3

Sono nuovo di Python, e mi chiedo come stampare più valori senza avere lo spazio aggiunto in mezzo. Voglio l’output ab piuttosto che ab senza dover chiamare due volte la print :

 print("a", end="") print("b") 

Inoltre, ho il seguente codice:

 a = 42 b = 84 

e voglio stampare i loro valori come a = 42, b = 84 , eppure se lo faccio

 print("a = ", a, ", ", b = ", b) 

vengono aggiunti spazi extra (emette a = 42 , b = 84 )

Mentre lo stile Java,

 print("a = " + a + ", b = " + b) 

solleva un TypeError .

Puoi usare il parametro sep per eliminare gli spazi:

 >>> print("a","b","c") abc >>> print("a","b","c",sep="") abc 

Non so cosa intendi con “stile Java”; in Python non è ansible aggiungere stringhe (diciamo) in questo modo, anche se a e b sono stringhe funzionerà. Hai diverse altre opzioni, ovviamente:

 >>> print("a = ", a, ", b = ", b, sep="") a = 2, b = 3 >>> print("a = " + str(a) + ", b = " + str(b)) a = 2, b = 3 >>> print("a = {}, b = {}".format(a,b)) a = 2, b = 3 

e anche (anche se non lo consiglio in generale, a volte è utile e non c’è motivo di fingere diversamente):

 >>> print("a = {a}, b = {b}".format(**locals())) a = 2, b = 3 >>> print("b = {b}, a = {a}".format(**locals())) b = 3, a = 2 

In questa pagina la risposta è stampare il tuo testo normale e alla fine usare sep="" .

Quindi il comando

 print("Hole", hole, "Par", par, sep="") 

darà

 "Hole1Par4" 

supponendo che hole==1 e par==4 .

Puoi anche usare

 print("%d%d" %(a,b)) 

per stampare a e b non separati da spazi sotto forma di una stringa formattata. Questo è simile a quello in c.