是否有更好的方法在正數上打印數字的正號?如何在Python中打印正數的數字的符號+
integer1 = 10
integer2 = 5
sign = ''
total = integer1-integer2
if total > 0: sign = '+'
print 'Total:'+sign+str(total)
0應該返回0沒有+。
是否有更好的方法在正數上打印數字的正號?如何在Python中打印正數的數字的符號+
integer1 = 10
integer2 = 5
sign = ''
total = integer1-integer2
if total > 0: sign = '+'
print 'Total:'+sign+str(total)
0應該返回0沒有+。
>>> print "%+d" % (-1)
-1
>>>
>>> print "%+d" % (1)
+1
>>> print "%+d" % (0)
+0
>>>
** **更新如果因任何原因,你不能使用%
運營商,你並不需要的功能:
>>> 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:+} 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',不是OP想要的。 – 2010-05-04 07:41:31
是的,對不起,我注意到我點擊按鈕的那一刻。我糾正了它。 – Khelben 2010-05-04 07:46:16
好的答案!你不需要在format()中顯式地索引組件,所以'{:+}'和'{:{}}'就足夠了。他們也會製作更好的表情符號。 – 2015-08-11 21:34:03
感謝您的回答。 我正在使用web.py templator,我不確定是否可以使用字符串格式%運算符。有沒有一種Python方法返回給定數字的符號? – systempuntoout 2010-05-04 07:21:58
咦?你在你的問題中使用了'%'運算符!請編輯您的問題,以便它反映您的真實需求。 – 2010-05-04 07:27:36
這是一個美麗的,謝謝:) – systempuntoout 2010-05-04 07:35:19