Python:如何在浮点数中打印100.0而不是100

时间:2019-01-28 04:00:05

标签: python python-3.x class

我正在解决有关类的Python练习:

  

定义一个名为Bank的类,该类接受要关联的名称   您的银行帐户中包含一个字符串,并且一个代表   帐户中的金额。构造函数应初始化两个   这些输入的实例变量:name和amt。添加一个字符串   方法,这样当您打印银行实例时,您会看到“您的   帐户,[名称移至此处],具有[start_amt移至此处]美元。”   该类的实例,名称为“ Bob”,而“ 100.0”为   量。将此保存到变量t1。

我写了以下内容:

class Bank:
def __init__(self, name, amt):
    self.name = name
    self.amt = amt

def __str__(self):
    return "Your account, {}, has {} dollars.".format(self.name, self.amt)

 t1 = Bank("Bob", 100.0)
 print(t1)

我得到的结果是“ Your account, Bob, has 100 dollars.

但是正确的答案是“ Your account, Bob, has 100.0 dollars.

我该如何解决?谢谢!

2 个答案:

答案 0 :(得分:5)

您可以更改自己的format

def __str__(self):
    return "Your account, {0}, has {1:.1f} dollars.".format(self.name, self.amt)

签出Format Specification Mini-Language

答案 1 :(得分:1)

或者 hack 它:

return "Your account, {}, has {}.0 dollars.".format(self.name, self.amt)

或使用float

return "Your account, {}, has {} dollars.".format(self.name, float(self.amt))