J'ai une mission où je dois créer une classe pour les Employés, de lire dans un fichier de texte contenant des informations sur l'employé de magasin comme un objet, lu dans une heures travaillées fichier et la création d'un paiement d'informations dictionnaire des fichiers. Donc, à présent, il semble fonctionner correctement tant que leur est seulement un employé dans le fichier texte, mais dès que j'ai inclure un second, le premier est écrasé et les informations de la seconde est ce qui est créé. C'est une partie de l'information que j'ai pour l'instant:
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)
C'est ce que j'ai à ce jour et elle renvoie le bon de sortie, mais quand je inclure une seconde ligne avec un deuxième membre du personnel qui est là où je reçois les questions. Aussi, juste une remarque, les paramètres de la feuille de paie ont obtenu d'être la date et les heures travaillées à partir des heures fichier texte et pas seulement le fichier texte. Je suis assez nouveau à la programmation alors, toutes mes excuses si cela est corrigé, j'ai passé les 3 derniers jours à essayer de le comprendre en visitant les différents conseils d'administration et des sites web. Toute aide serait grandement appréciée.