양수로 숫자의 + 기호를 인쇄하는 더 좋은 방법이 있습니까?파이썬에서 양수 기호의 부호 +를 인쇄하는 방법
integer1 = 10
integer2 = 5
sign = ''
total = integer1-integer2
if total > 0: sign = '+'
print 'Total:'+sign+str(total)
0은 +없이 0을 반환합니다.
양수로 숫자의 + 기호를 인쇄하는 더 좋은 방법이 있습니까?파이썬에서 양수 기호의 부호 +를 인쇄하는 방법
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
>>>
여기는 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:+} 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가 원하는 것이 아닙니다. –
예, 죄송합니다. 버튼을 눌렀을 때가 눈치 챘습니다. 나는 그것을 바로 잡았다. – Khelben
좋은 답변입니다! format() 내에서 명시 적으로 구성 요소의 색인을 생성 할 필요가 없으므로'{: +}'및'{: {}} '만으로 충분합니다. 그들은 또한 더 좋은 이모티콘을 만듭니다. –
답장을 보내 주셔서 감사합니다. web.py templator로 작업 중이며 % 연산자 형식의 문자열을 사용할 수 있는지 확실하지 않습니다. 주어진 숫자의 부호를 반환하는 파이썬 메소드가 있습니까? – systempuntoout
응? 당신은 당신의 질문에'%'연산자를 사용했습니다! 실제 요구 사항이 반영되도록 질문을 편집하십시오. –
그것은 아름다움, 고마워요 :) – systempuntoout