Am o misiune în care trebuie să creați o clasă pentru Angajați, citiți într-un fișier text care conține informații despre angajați de la magazin ca un obiect, citiți în numărul de ore lucrate de fișiere și de a crea o plată informații dicționar de fișiere. Deci, în prezent pare a fi de lucru bine, atâta timp cât este doar un singur angajat în angajat fișier text dar îndată ce includ un al doilea, primul este suprascris și informații pentru cea de-a doua este ceea ce este creat. Aceasta este o parte din informațiile care le am până acum:
class Staff:
staffData = {}
def __init__(self, EmpID, LName, FName, RHours, HRate, OTMult, TaxC, SBand, Date, HrsWorked):
self.EmpID = EmpID
self.LName = LName
self.FName = FName
self.RHours = RHours
self.HRate = HRate
self.OTMult = OTMult
self.TaxC = TaxC
self.SBand = SBand
self.Date = Date
self.HrsWorked = HrsWorked
Staff.staffData[EmpID] = self
def setup(staff ,hrs): # staff and hrs are text files
with open(staff) as empFile:
for line in empFile:
SID, LN, FN, RH, HR, OTM, TC, SB = line.split()
with open(hrs) as hFile:
for line in hFile:
SID, date, HrsWorked = line.split()
stf = Staff(SID, LN, FN, int(RH), int(HR), float(OTM), int(TC), int(SB),date, HrsWorked)
return stf
def paySlip(self,HrsWorked, date):
paymentDict = {}
#creates paySlip using information from instance and creates others by performing
calculations
return paymentDict
jg = Staff.setup('Staff.txt', 'Hrs.txt')
dic = jg.paySlip(42,'31/10/2021')
print(dic)
Aceasta este ceea ce am până acum, și se întoarce de ieșire corectă, dar atunci când includ o a doua linie cu un al doilea membru al personalului care este în cazul în care am probleme. De asemenea, doar o notă, parametrii de fluturaș de salariu trebuie să fie data și numărul de ore lucrate de ore fișier text și nu doar fișierul text. Sunt destul de nou la programare asa ca ne cerem scuze dacă acest lucru este o bază fix, mi-am petrecut ultimele 3 zile încercând să-mi dau seama, vizitând diferite panouri și site-uri web. Orice ajutor ar fi apreciat foarte mult.