2011-12-01 17 views

risposta

42

Con the % operator:

print '%+d' % score 

Con str.format:

print '{0:+d}'.format(score) 

È possibile consultare la documentazione per la formattazione minilinguaggio here.

+1

Grazie, funziona, puoi spiegare la logica di formattazione dietro di esso in modo da poterlo imparare piuttosto che memorizzarlo? Grazie. –

+3

@Capriano: Il '+' indica che il numero deve essere formattato iniziando con un '+' se è positivo (o un '-' se negativo). Il 'd' indica che il numero deve essere rappresentato in decimale (base dieci). – icktoofay

+0

Basta chiedersi @icktoofay il punteggio ora considerato un float/doppio? (so che in c% d si riferisce a una variabile int. –

-2
score = 1 
print "+"+str(score) 

su Python interprete

>>> score = 1 
>>> print "+"+str(score) 
+1 
>>> 
+1

La domanda dice "senza aggiungerla in manualmente me stesso. " – icktoofay

+0

il mio male, non ho letto l'ultima parte :( – Ani

+1

Grazie ani ma sì come spiegato ghiaccio avevo bisogno di Python per farlo per me e non aggiungere t manualmente. –

2

Nel caso in cui si desidera solo mostrare un segno negativo per il punteggio meno, non più/meno per il punteggio pari a zero e un segno più per tutti punteggio positivo:

score = lambda i: ("+" if i > 0 else "") + str(i) 

score(-1) # '-1' 
score(0) # '0' 
score(1) # '+1' 
Problemi correlati