在前面显示+ +的最佳方式是什么?假设用户输入数字“10”。我想在它前面出现一个“+”,因为它是一个正数。如果它是负数,那么我会保持原样。
我是否必须使用if语句然后将其转换为字符串然后添加+符号?或者有更简单的方法吗?
答案 0 :(得分:2)
>>> 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
格式化只是一种方法,更快更清洁。