我似乎不知道如何在类中转换方法

2024-03-29 13:32:06 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的密码 :https://i.stack.imgur.com/FOGQ8.png

我不知道如何将self.weekly_salary转换成浮点数,这样我就可以乘法了

它在self.monthly_salary中被另一个数字替换

class Employee:
    weeks_in_month = 4
    def __init__(self,w,wd):
        self.wage = w
        self.work_days = wd
    
    def weekly_salary(self):
        return self.wage*8*self.work_days
    
    def monthly_salary(self):
        return self.weeks_in_month *self.weekly_salary
    
    def yearly_salary(self):
        return self.monthly_salary*12
Joe = Employee(13.5,4)

我尝试过在这个方法上使用__int____float__,但结果都是错误的

请帮帮我,我还是个新手


1条回答
网友
1楼 · 发布于 2024-03-29 13:32:06
class Employee:
    weeks_in_month = 4
    def __init__(self, w, wd):
        self.wage = w
        self.work_days = wd

    def month_in_year(self):
        return 12

    def weekly_salary(self):
        #print('Weekly salary', self.wage * 8 * self.work_days)
        return float(self.wage * 8 * self.work_days)

    def monthly_salary(self):
        #print('Monthly Salary',self.weeks_in_month * self.weekly_salary())
        return float(self.weeks_in_month * self.weekly_salary())

    def yearly_salary(self):
        print('Yearly Salary', self.monthly_salary() * self.month_in_year())
        return self.monthly_salary() * 12


Joe = Employee(13.5, 4)


Joe.yearly_salary()

您忘记调用self.monthly_salary(),而是尝试用一个直接给出typeerror的方法减去一个int

相关问题 更多 >