2010-05-04 35 views

回答

37
>>> print "%+d" % (-1) 
-1 
>>> 
>>> print "%+d" % (1) 
+1 
>>> print "%+d" % (0) 
+0 
>>> 

這裏是the documentation

** **更新如果因任何原因,你不能使用%運營商,你並不需要的功能:

>>> total = -10; print "Total:" + ["", "+"][total > 0] + str(total) 
Total:-10 
>>> total = 0; print "Total:" + ["", "+"][total > 0] + str(total) 
Total:0 
>>> total = 10; print "Total:" + ["", "+"][total > 0] + str(total) 
Total:+10 
>>> 
+0

感謝您的回答。 我正在使用web.py templator,我不確定是否可以使用字符串格式%運算符。有沒有一種Python方法返回給定數字的符號? – systempuntoout 2010-05-04 07:21:58

+3

咦?你在你的問題中使用了'%'運算符!請編輯您的問題,以便它反映您的真實需求。 – 2010-05-04 07:27:36

+0

這是一個美麗的,謝謝:) – systempuntoout 2010-05-04 07:35:19

43

使用new string format

>>> '{0:+} number'.format(1) 
'+1 number' 
>>> '{0:+} number'.format(-1) 
'-1 number' 
>>> '{0:+} number'.format(-37) 
'-37 number' 
>>> '{0:+} number'.format(37) 
'+37 number' 
# As the questions ask for it, little trick for not printing it on 0 
>>> number = 1 
>>> '{0:{1}} number'.format(number, '+' if number else '') 
'+1 number' 
>>> number = 0 
>>> '{0:{1}} number'.format(number, '+' if number else '') 
'0 number' 

我們推薦了%運營商

+0

0 - >'+ 0',不是OP想要的。 – 2010-05-04 07:41:31

+0

是的,對不起,我注意到我點擊按鈕的那一刻。我糾正了它。 – Khelben 2010-05-04 07:46:16

+1

好的答案!你不需要在format()中顯式地索引組件,所以'{:+}'和'{:{}}'就足夠了。他們也會製作更好的表情符號。 – 2015-08-11 21:34:03

相關問題