如何在Python中打印+1,显示为+1而不是1?

71 投票
4 回答
48367 浏览
提问于 2025-04-17 07:26

正如标题所说,我想知道怎么让Python打印出+1,而不是1。

score = +1
print score
>> 1

我知道-1会打印成-1,但我想知道怎么让正数前面自动加上+号,而不用我手动加上去。

谢谢。

4 个回答

5

如果你只想在分数为负的时候显示一个负号,分数为零的时候不显示正负号,而在分数为正的时候显示一个正号,可以这样做:

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

score(-1) # '-1'
score(0) # '0'
score(1) # '+1'
19

python>=3.8+ 开始

score = 0.2724
print(f'{score:+g}') # or use +f to choose the amount of decimals
# prints -> +0.2724
print(f'{score:+.3f}') # 3 decimal places 
# prints -> +0.272

百分比

score = 0.272425
print(f'{score:+.2%}')
# prints -> +27.24%
111

使用百分号(%)运算符

print '%+d' % score

使用str.format

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

你可以在这里查看格式化小语言的文档。

撰写回答