У меня есть задание, в котором я должен создать класс для сотрудников, прочитать текстовый файл, содержащий информацию о сотрудниках, для хранения в качестве объекта, прочитать файл с отработанными часами и создать словарь информации об оплате из файлов. Итак, пока кажется, что все работает нормально, пока в текстовом файле сотрудника есть только один сотрудник, но как только я включаю второго, первый перезаписывается, и создается информация для второго. Это лишь часть информации, которой я располагаю до сих пор:
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)
Это то, что у меня есть до сих пор, и это возвращает правильный вывод, но когда я включаю вторую строку со вторым сотрудником, именно там у меня возникают проблемы. Кроме того, просто обратите внимание, что параметрами платежного листа должны быть дата и часы работы из текстового файла часов, а не только текстовый файл. Я совсем новичок в программировании, поэтому приношу извинения, если это простое исправление, я провел последние 3 дня, пытаясь разобраться в этом, посещая различные доски объявлений и веб-сайты. Любая помощь была бы очень признательна.