Что нам нужно сделать, чтобы исправить это уравнение, чтобы оно работало в нашем коде Python? - PullRequest
0 голосов
/ 29 мая 2020

Назначение и код ниже ...

Я помогаю своему сыну с домашним заданием. Я знаю кодировку, но не Python. Он зашел так далеко и попросил меня вскочить, чтобы помочь, и я в тупике. Я считаю, что уравнение общей получаемой зарплаты слишком длинное, но я не уверен, что делать, чтобы помочь. Код работает как есть, но когда мы пытаемся переключить "...will take home $" + str(emp_1.salary) + ", after taxes." with "...will take home $" + str(emp_1.apply_taxes()) + ", after taxes." на emp_1 и emp_2, мы получаем ошибку, что apply_taxes не определен. все, что нам нужно сделать, это заставить уравнение работать, и все будет хорошо. Приветствуются любые предложения!

Спасибо !!

Это назначение:

  1. Включить в переменные класса, которые будут учитывать ставку федерального налога ( 0.2) и ставка налога штата (0,0314)
  2. Используя эти переменные, добавьте метод к методу init , который будет вычитать ОБЕ федеральные налоги и налоги штата из заработной платы сотрудников.
  3. Используя правильную конкатенацию, выведите как зарплату первого сотрудника, так и то, какой будет заработная плата сотрудника после вычета налогов.
  4. Сделайте то же самое для второго сотрудника.

This is what the output has to look like

Это код, который у нас есть:

class Employee:

  fed_tax = float(.2)
  state_tax = float(.0314)

  def __init__(self, name, salary):
    self.name = name
    self.salary = salary

  def apply_taxes(self):
    self.salary = int(float(self.salary - ((self.salary * float(self.fed_tax)) + (self.salary * float(self.state_tax)))))

emp_1 = Employee("Isaac Soiffer", 50000)
emp_2 = Employee("Jack Fuller", 45000)

print("The employee, " + emp_1.name + ", salary is $" + str(emp_1.salary) + ".")
print("Employee " + emp_1.name + " will take home $" + str(emp_1.salary) + ", after taxes.")

print("The employee, " + emp_2.name + ", salary is $" + str(emp_2.salary) + ".")
print("Employee " + emp_2.name + " will take home $" + str(emp_2.salary) + ", after taxes.")

1 Ответ

3 голосов
/ 29 мая 2020

вы не звоните нигде примените налоги: попробуйте что-нибудь вроде:

class Employee:

   fed_tax = 0.2
   state_tax = 0.0314

   def __init__(self, name, salary):
       self.name = name
       self.salary = salary
       self.post_taxed_salary = self.apply_taxes()

   def apply_taxes(self):
       return int(float(self.salary - ((self.salary * float(self.fed_tax)) + (self.salary * float(self.state_tax)))))

emp_1 = Employee("Isaac Soiffer", 50000)
emp_2 = Employee("Jack Fuller", 45000)
print('employee {} has salary of {} and after taxes {}'.format(emp_1.name, emp_1.salary, emp_1.post_taxed_salary))

Возврат: сотрудник Isaa c Soiffer имеет зарплату 50000 и после уплаты налогов 38430

Обратите внимание, поскольку saalary является атрибутом, вы можете сделать post_taxed_salary свойством, например,

class Employee:

   fed_tax = 0.2
   state_tax = 0.0314

   def __init__(self, name, salary):
       self.name = name
       self.salary = salary


   @property
   def post_taxed_salary(self):
       return int(float(self.salary - ((self.salary * float(self.fed_tax)) + (self.salary * float(self.state_tax)))))

Также должно работать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...