Python:如何在float中打印100.0而不是100

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

Define a class called Bank that accepts the name you want associated
with your bank account in a string, and a float that represents the
amount of money in the account. The constructor should initialize two
instance variables from those inputs: name and amt. Add a string
method so that when you print an instance of Bank, you see “Your
account, [name goes here], has [start_amt goes here] dollars.” Create
an instance of this class with “Bob” as the name and 100.0 as the
amount. Save this to the variable 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)

我得到的结果是“你的帐户,Bob,有100美元.”

但正确的答案是“你的帐户,Bob,有100.0美元.”

我该怎么做才能解决它?谢谢!

最佳答案 您可以更改格式:

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

查看Format Specification Mini-Language.

点赞