Mam zadanie, w którym muszę utworzyć klasę dla pracowników, przeczytać plik tekstowy zawierający informacje o pracownikach, do przechowywania jako obiektu, odczytać plik z sprawdzonymi godzin i utworzyć słownik informacji o płatności z plików. Tak więc, podczas gdy wydaje się, że wszystko działa normalnie, aż w pliku tekstowym pracownika jest tylko jeden pracownik, ale jak tylko włączam drugiego, pierwszy jest zastępowany, i tworzy informacje dla drugiego. To tylko część informacji, które ja posiadam do tej pory:
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)
To jest to, co mam do tej pory, i to zwraca poprawny wynik, ale gdy włączam drugi wiersz z drugim pracownikiem, to właśnie tam mam problemy. Ponadto, po prostu należy pamiętać, że ustawienia płatności arkusza musi być data i godziny pracy z pliku tekstowego godzin, a nie tylko plik tekstowy. Jestem zupełnie początkujący w programowaniu, więc przepraszam, jeśli jest to prosta poprawka, ja przez ostatnie 3 dni, próbując zorientować się w tym, odwiedzając różne fora i strony internetowe. Każda pomoc była bym bardzo wdzięczna.