对于浮动,在前面显示 + 的最佳方式是什么?假设用户输入数字“10”。我想在它前面出现一个“+”,因为它是一个正数。如果它是一个负数,那么我会保持原样。
我是否必须使用 if 语句,然后将其转换为字符串,然后添加 + 号?或者有没有更简单的方法?
对于浮动,在前面显示 + 的最佳方式是什么?假设用户输入数字“10”。我想在它前面出现一个“+”,因为它是一个正数。如果它是一个负数,那么我会保持原样。
我是否必须使用 if 语句,然后将其转换为字符串,然后添加 + 号?或者有没有更简单的方法?
使用format()
功能:
>>> format(10, '+f')
'+10.000000'
>>> format(-10, '+f')
'-10.000000'
>>> format(3.14159, '+.3f')
'+3.142'
有关特定格式选项,请参阅格式规范迷你语言;在数字格式前面+
加上 ,使其包含正数的加号,-
负数。例如,最后一个示例将数字格式化为使用 3 位小数。
如果您需要删除负号,则必须明确使用.lstrip()
:
>>> format(10, '+f').lstrip('-')
'+10.000000'
>>> format(-10, '+f').lstrip('-')
'10.000000'
但在我看来,这会使阅读规范变得相当混乱。:-)
使用格式 - 然后-
从结果中删除任何前导:
print format(10, '+').lstrip('-')
我首先想到的是:
userInput=int(input("Enter number: "))
if userInput > 0:
print ("+"+userInput)
else:
pass
格式化只是要走的路,更快,更干净。