2011-12-01 13 views

Odpowiedz

42

Z the % operator:

print '%+d' % score 

Z str.format:

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

można znaleźć w dokumentacji formatowanie mini języku here.

+1

Dziękuję, że to działa, czy możesz wyjaśnić logikę formatowania, dzięki której mogę się jej nauczyć, a nie zapamiętać? Dziękuję Ci. –

+3

@Capriano: '+' oznacza, że ​​liczba powinna być sformatowana zaczynając od '+ ', jeśli jest dodatnia (lub' -', jeśli jest ujemna). 'D' wskazuje, że liczba powinna być reprezentowana w systemie dziesiętnym (podstawa dziesięć). – icktoofay

+0

Po prostu zastanawiasz się, czy @icktoofay jest teraz uważany za float/double? (Wiem, że w c% d odnosi się do zmiennej int. –

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

na Python tłumacza

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

Pytanie brzmi "bez dodawania ręcznie samodzielnie ". – icktoofay

+0

moje złe, nie czytałem ostatniej części :( – Ani

+1

Dzięki ani, ale tak, jak wyjaśnił lód Potrzebowałem pytona, aby zrobić to dla mnie i nie dodawać t ręcznie. –

2

w przypadku chcesz tylko pokazać znak ujemny na wynik ujemny, bez plus/minus na wynik zerowy i znakiem plus dla wszystkich dodatnich punktów:

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

score(-1) # '-1' 
score(0) # '0' 
score(1) # '+1' 
Powiązane problemy