添加" +"的最佳方式和" - "?

时间:2013-10-06 23:09:26

标签: python formatting

在前面显示+ +的最佳方式是什么?假设用户输入数字“10”。我想在它前面出现一个“+”,因为它是一个正数。如果它是负数,那么我会保持原样。

我是否必须使用if语句然后将其转换为字符串然后添加+符号?或者有更简单的方法吗?

3 个答案:

答案 0 :(得分:2)

使用format() function

>>> format(10, '+f')
'+10.000000'
>>> format(-10, '+f')
'-10.000000'
>>> format(3.14159, '+.3f')
'+3.142'

有关特定格式选项,请参阅Format Specification Mini-Language;在+之前添加数字格式会使其包含正数的加号,-表示负数。例如,最后一个示例将数字格式化为使用3位小数。

如果您需要删除否定号,则必须明确使用.lstrip()

>>> format(10, '+f').lstrip('-')
'+10.000000'
>>> format(-10, '+f').lstrip('-')
'10.000000'

但在我看来,这是一个令人困惑的规范。 : - )

答案 1 :(得分:0)

使用格式化 - 然后从结果中删除任何前导-

print format(10, '+').lstrip('-')

答案 2 :(得分:0)

我想到的第一件事是:

userInput=int(input("Enter number: "))
if userInput > 0:
    print ("+"+userInput)
else:
    pass

格式化只是一种方法,更快更清洁。