Python 类型错误:需要浮点数

Python 类型错误:需要浮点数,python,Python,下面是我得到的错误: Running...done. Traceback (most recent call last): File "main.py", line 13, in <module> print('Alice:\n Net pay: $%7.2f' % alice.calculate_pay()) TypeError: a float is required 改变 到 初始值不可调用,等于NoneType。即使存储到self.calculate\u pay

下面是我得到的错误:

Running...done.
Traceback (most recent call last):
  File "main.py", line 13, in <module>
    print('Alice:\n Net pay: $%7.2f' % alice.calculate_pay())
TypeError: a float is required
改变


初始值不可调用,等于
NoneType
。即使存储到self.calculate\u pay的值是float,您也不能这样引用它。

您缺少
return
语句:

def calculate_pay(self):
  self.calculate_pay = (self.wage * self.hours_worked)
  return self.calculate_pay

您正在调用
calculate\u pay
方法,它不返回任何内容,表示默认情况下它返回
None

请从函数返回值并使用它,或使用变量或方法

变量使用

alice.calculate_pay()
print('Alice:\n Net pay: $%7.2f' % alice.calculate_pay)

从函数返回


将方法和实例变量更改为不同的名称,并在calculate_pay方法中设置return station:

def calculate_pay(self):
    self.calculated_pay = (self.wage * self.hours_worked)
    return  self.calculated_pay

你试过没有浮点数的密码吗?因为我认为这也行不通。请用普通号码试试。比如9-35。您的函数没有返回值,请修复它。非常感谢。:)
def calculate_pay(self):
  self.calculate_pay = (self.wage * self.hours_worked)
  return self.calculate_pay
alice.calculate_pay()
print('Alice:\n Net pay: $%7.2f' % alice.calculate_pay)
def calculate_pay(self):
    return (self.wage * self.hours_worked)
def calculate_pay(self):
    self.calculated_pay = (self.wage * self.hours_worked)
    return  self.calculated_pay