Can';函数PYTHON之后的t.rstrip(';.0';)
所以我想从输入的整数t中去掉尾随的.0s,当我在.center之后做r.strip时,它被四舍五入到精确的数字。什么都没有发生,我知道的不多,所以我不确定你是否可以把一个.function放在另一个.function之后(rstrip放在中心之后)。我读到了关于{0:g}的内容。格式(float(21))如下(解决的问题在这种情况下不起作用)。老实说,我甚至不知道如何添加或使用{0:g}.format(float(21))部分 这里有一种方法:Can';函数PYTHON之后的t.rstrip(';.0';),python,string,string-formatting,Python,String,String Formatting,所以我想从输入的整数t中去掉尾随的.0s,当我在.center之后做r.strip时,它被四舍五入到精确的数字。什么都没有发生,我知道的不多,所以我不确定你是否可以把一个.function放在另一个.function之后(rstrip放在中心之后)。我读到了关于{0:g}的内容。格式(float(21))如下(解决的问题在这种情况下不起作用)。老实说,我甚至不知道如何添加或使用{0:g}.format(float(21))部分 这里有一种方法: def竞争定位(t、宽度、精度): text=st
def竞争定位(t、宽度、精度):
text=str(圆(t,精度))
如果text.endswith('.0'):
text=文本[:-2]
返回文本。居中(宽度)
这种四舍五入的方式不适用于precision=0
,如果它类似于1000.00
,那么您将得到1
如果你不在乎这个,你可以这样做:
def competitiveEating(t, width, precision):
return ("{:."+str(precision)+"f}").format(t).center(width)
可能是python。首先用编程语言pleaserstrip标记,然后是call center,否则会在左右两侧填充一个简短的数字,rstrip('.0')将找不到任何要删除的''.'或'0',只找到尾随空格。谢谢,但是r.strip('.0')会删除'.'和'0'的所有实例。你说得对。我相信我现在有了一个正确的版本。我认为OP希望在小数点后去掉所有的0,所以“1.000”应该变成“1”,这将失败,因为它不以“.0”结尾。@PaulMcGuire输入
t
是一个数字,而不是字符串,如通过四舍五入所示,它不接受字符串str(1.000)
是“1.0”
,因此它没有您提到的问题。
def competitiveEating(t, width, precision):
return ("{:."+str(precision)+"f}").format(t).center(width)
def competitiveEating(t, width, precision):
return str(round(t, precision)).rstrip('.0').center(width)