Ho un incarico in cui devo creare una classe per i Dipendenti, per leggere un file di testo contenente informazioni sui dipendenti, di archiviare come un oggetto, in una delle ore lavorate file e creare un sistema di pagamento informazioni dizionario di file. Quindi, sembra funzionare bene fintanto che il loro è solo un dipendente, il dipendente, file di testo, ma non appena ho comprendono un secondo, il primo è sovrascritti e le informazioni per la seconda è ciò che è creato. Queste sono alcune delle informazioni che ho finora:
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)
Questo è ciò che ho finora, e restituisce l'output corretto, ma quando ho dispongono di una seconda linea con un secondo membro del personale che è dove ho problemi. Inoltre, solo una nota, i parametri per la busta paga hanno avuto modo di essere di data e orario di lavoro dalle ore file di testo e non solo il file di testo. Sono abbastanza nuovo di programmazione, quindi mi scuso se questo è un semplice fix, ho passato gli ultimi 3 giorni cercando di capire come funziona la visita di diversi consigli e siti web. Qualsiasi aiuto sarebbe molto apprezzato.