2017-04-24 6 views
1
class Employee: 

    def __init__(self,Employee_Name,Hours_Worked,Hourly_Wage): 
     self.Employee_Name = Employee_Name 
     self.Hours_Worked = Hours_Worked 
     self.Hourly_Wage = Hourly_Wage 

    def displayName(self): 
     print ("Employee Name :", Employee_Name) 

    def displayHoursWorked(self): 
     print ("Hours Worked :", Hours_Worked) 

    def displayHourlyWage(self): 
     print ("Hourly Wage :", Hourly_Wage) 

    def Empname(self): 

    def Emppay(self): 
     if Hours_Worked <= 40: 
      print("Employee Pay :",Hours_Worked * Hourly_Wage) 
     if Hours_Worked > 40: 
      print ("Employee Pay :",((Hours_Worked - 40) * (Hourly_Wage * 1.5)) + (Hourly_Wage * 40)) 

Employee_Name = str(input("Employee Name :")) 
Hours_Worked = int(input("Hours Worked :")) 
Hourly_Wage = float(input("Hourly Wage :")) 
myEmployee = Employee(Employee_Name,Hours_Worked,Hourly_Wage) 
myEmployee.displayName() 
myEmployee.displayHoursWorked() 
myEmployee.displayHourlyWage() 
myEmployee.Emppay() 
myEmployee.Empname() 

私は宿題の一部に固執しています。getおよびsetメソッドを使用してクラス内のプロパティの値を設定する方法python 3.6

Iは、(1)コンストラクタは、属性従業員の名前を作成し、労働時間、および時給

、「従業員」という名前のクラスを作成することを任務としています。

(2) 'get'と 'set'メソッドを使用して、従業員の名前を反映する 'Empname'という名前のプロパティの値を設定する必要があります。

(3)従業員の週給を計算する「Emppay」という名前のメソッドが必要です。

(4)次に、「Employee」クラスで「myEmployee」オブジェクトを作成し、名前、時間、時間単位の支払いをユーザに要求する必要があります。 'myEmployee'オブジェクトを使用して名前を印刷し、作業時間と時間単位の支払いを行います。 'myEmployee'オブジェクトを使用して、「Emppay」メソッドを呼び出して、週給を計算します。

(5)従業員の名前を変更するようにユーザーに依頼します。 'Empname'プロパティを使用して名前を新しい名前に変更し、適切な名前を使用して新しい名前を印刷します。

免責事項:これは、「おそらくではありません

部品2と5は私が何をする必要があるかわかりませんし、任意のヘルプは大幅に

答えて

0

をいただければ幸い私はあなたのコードにPython3 class propertyを適応ところです他のユーザーが回答を返すまで、私はここであなたの検討のために残しておきます。それが役に立てば幸い。

class Employee: 
    def __init__(self,Employee_Name,Hours_Worked,Hourly_Wage): 
     self.Employee_Name = Employee_Name 
     self.Hours_Worked = Hours_Worked 
     self.Hourly_Wage = Hourly_Wage 

    def displayName(self): 
     print ("Employee Name: ", self.Employee_Name) 

    def displayHoursWorked(self): 
     print ("Hours Worked: ", self.Hours_Worked) 

    def displayHourlyWage(self): 
     print ("Hourly Wage: ", self.Hourly_Wage) 

    @property 
    def Empname(self): 
     print("getter of Empname called") 
     return self.Employee_Name 

    @Empname.setter 
    def setEmpname(self, emp_name): 
     print("setter of Empname called") 
     self.Employee_Name = emp_name 

    def Emppay(self): 
     if self.Hours_Worked <= 40: 
      print("Employee Pay :", self.Hours_Worked * self.Hourly_Wage) 
     if self.Hours_Worked > 40: 
      print ("Employee Pay :",((self.Hours_Worked - 40) * (self.Hourly_Wage * 1.5)) + (self.Hourly_Wage * 40)) 

name_1 = input("Employee Name: ") 
hours_1 = int(input("Hours Worked: ")) 
hourly_wage_1 = float(input("Hourly Wage: ")) 
myEmployee = Employee(name_1,hours_1,hourly_wage_1) 
myEmployee.displayName() 
myEmployee.displayHoursWorked() 
myEmployee.displayHourlyWage() 
myEmployee.Emppay() 

emp_name_change = input("What Employee name do you want to change? ") 

if myEmployee.Employee_Name == emp_name_change: 
    new_emp_name = input("Change {old_emp_name} to what new name? ".format(old_emp_name=emp_name_change)) 
    myEmployee.Employee_Name = new_emp_name 
    print("{change_from}'s name changed to {change_to}".format(change_from=emp_name_change, change_to=new_emp_name)) 
else: 
    print("No employee with name {change_from} exists. No names changed".format(change_from=emp_name_change)) 

print(myEmployee.Employee_Name) 

デモ:

Employee Name: Jack 
Hours Worked: 15 
Hourly Wage: 10 
Employee Name: Jack 
Hours Worked: 15 
Hourly Wage: 10.0 
Employee Pay : 150.0 
What Employee name do you want to change? Steve 
No employee with name Steve exists. No names changed 
Jack 

Employee Name: Steve 
Hours Worked: 15 
Hourly Wage: 10 
Employee Name: Steve 
Hours Worked: 15 
Hourly Wage: 10.0 
Employee Pay : 150.0 
What Employee name do you want to change? Steve 
Change Steve to what new name? Jack 
Steve's name changed to Jack 
Jack 
関連する問題