Error on line 181, in generating the slip, is my info in .txt is wrong? Code: class EmployeeInfo: emp_number = 0 emp_last = "" emp_first = "" emp_position = "" emp_department = "" emp_birth = "" emp_RD = 0 emp_NDWM = 0 def setEmpNumber(self,emp_number): self.emp_number = emp_number def setEmpLast(self,emp_last): self.emp_last = emp_last def setEmpFirst(self,emp_first): self.emp_first = emp_first def setEmpPositio(self,emp_position): self.emp_position = emp_position def setEmpDepartment(self,emp_department): self.emp_department = emp_department def setEmpBirth(self,emp_birth): self.emp_birth = emp_birth def setRD(self,emp_RD): self.emp_RD = emp_RD def setNDWM(self,emp_NDWM): self.emp_NDWM = emp_NDWM def add_emp(self): with open('employee.txt', 'a+') as f: self.emp_number = int(input("Enter emp number: ")) self.emp_last = input("Enter emp last: ") self.emp_first = input("Enter emp first: ") self.emp_position = input("Enter emp position: ") self.emp_department = input("Enter emp department: ") if self.emp_position == 'Manager': self.emp_RD = 1000 allowence = 5000 self.emp_NDWM = self.emp_RD+allowence elif self.emp_position == 'Asst.Manager': self.emp_RD = 750 allowence = 300 self.emp_NDWM = self.emp_RD+allowence elif self.emp_position == 'Secratery': self.emp_RD = 500 allowence = 0 self.emp_NDWM = self.emp_RD+allowence elif self.emp_position == 'Staff': self.emp_RD = 475 allowence = 0 self.emp_NDWM = self.emp_RD+allowence self.emp_birth = input("Enter emp birth: ") f.write(f"{self.emp_number},{self.emp_last},{self.emp_first},{self.emp_position},{self.emp_department},{self.emp_birth},{self.emp_RD},{self.emp_NDWM}\n") f.close() print("Employee Added Successfully\n"); def update_emp(self): number,last,first,pos,dep,birth,RD,NDWM = [],[],[],[],[],[],[],[] with open('employee.txt', 'r') as f: lines = f.readlines(); for line in lines: number.append(int(line.split(",")[0])) last.append(line.split(",")[1]) first.append(line.split(",")[2]) pos.append(line.split(",")[3]) dep.append(line.split(",")[4]) birth.append(line.split(",")[5]) RD.append(int(line.split(",")[6])) NDWM.append(int(line.split(",")[7])) f.close() print("Update by All Datas") num = int(input("Enter your emp number: ")) for i in range(len(number)): if num == number[i]: print("1-Emp Last") print("2-Emp First") print("3-Emp Position") print("4-Emp Department") print("5-Emp Birth") ch = int(input("Enter your choice: ")) if ch==1: ln = input("Enter new last naem: ") last[i] = ln elif ch==2: fn = input("Enter new first naem: ") first[i] = fn elif ch==3: p = input("Enter new position: ") pos[i] = p elif ch==4: d = input("Enter new department: ") dep[i] = d elif ch==5: bt = input("Enter new birth: ") birth[i] = bt else: print("Wrong input try again") # else: # print("Emp Number Not Found") with open('employee.txt', 'w') as wf: for i in range(len(number)): wf.write(f"{number[i]},{last[i]},{first[i]},{pos[i]},{dep[i]},{birth[i]},{RD[i]},{NDWM[i]}\n") print("Updated Successfully\n") wf.close() def increase_pay(self): number,last,first,pos,dep,birth,RD,NDWM = [],[],[],[],[],[],[],[] with open('employee.txt', 'r') as f: lines = f.readlines(); for line in lines: number.append(int(line.split(",")[0])) last.append(line.split(",")[1]) first.append(line.split(",")[2]) pos.append(line.split(",")[3]) dep.append(line.split(",")[4]) birth.append(line.split(",")[5]) RD.append(float(line.split(",")[6])) NDWM.append(float(line.split(",")[7])) f.close() for i in range(len(number)): if pos[i] == "Manager": RD[i] = RD[i] * 2 NDWM[i] = RD[i] + 5000 else: RD[i] = (RD[i]/2) + RD[i] if pos[i] == "Asst.Manager": NDWM[i] = RD[i] + 300 else: NDWM[i] = RD[i] + 0 with open('employee.txt', 'w') as wf: for i in range(len(number)): wf.write(f"{number[i]},{last[i]},{first[i]},{pos[i]},{dep[i]},{birth[i]},{RD[i]},{NDWM[i]}\n") print("Increased Pay Successfully\n") wf.close() def generate_slip(self): number,last,first,pos,dep,birth,RD,NDWM = [],[],[],[],[],[],[],[] with open('employees.txt', 'r') as f: lines = f.readlines(); for line in lines: number.append(int(line.split(",")[0])) last.append(line.split(",")[1]) first.append(line.split(",")[2]) pos.append(line.split(",")[3]) dep.append(line.split(",")[4]) birth.append(line.split(",")[5]) RD.append(float(line.split(",")[6])) NDWM.append(float(line.split(",")[7])) f.close() print("Pay Slips") print("Emp Number\tEmp Last\tEmp First\tEmp Position\tEmp Department\tEmp Birth\tEmp RD\tEmp NDWM") for i in range(len(number)): print(f"{number[i]}\t\t{last[i]}\t\t{first[i]}\t\t{pos[i]}\t\t{dep[i]}\t\t{birth[i]}\t{RD[i]}\t{NDWM[i]}") print("Pay Slip Generated Successfully\n") def exit_program(self): quit() while True: print("1 - ADD EMPLOYEE DATA") print("2 - UPDATE EMPLOYEE DATA") print("3 - INCREASE PAY") print("4 - GENERATE PAY SLIP") print("5 - EXIT PROGRAM") print("----------") userChoice = int(input("Enter Choice: ")) c = EmployeeInfo() if userChoice == 1: c.add_emp() elif userChoice == 2: c.update_emp() elif userChoice == 3: c.increase_pay() elif userChoice == 4: c.generate_slip() elif userChoice == 5: c.exit_program()

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

Error on line 181, in generating the slip, is my info in .txt is wrong?

Code:

class EmployeeInfo:
emp_number = 0
emp_last = ""
emp_first = ""
emp_position = ""
emp_department = ""
emp_birth = ""
emp_RD = 0
emp_NDWM = 0

def setEmpNumber(self,emp_number):
self.emp_number = emp_number

def setEmpLast(self,emp_last):
self.emp_last = emp_last

def setEmpFirst(self,emp_first):
self.emp_first = emp_first

def setEmpPositio(self,emp_position):
self.emp_position = emp_position

def setEmpDepartment(self,emp_department):
self.emp_department = emp_department

def setEmpBirth(self,emp_birth):
self.emp_birth = emp_birth

def setRD(self,emp_RD):
self.emp_RD = emp_RD

def setNDWM(self,emp_NDWM):
self.emp_NDWM = emp_NDWM

def add_emp(self):
with open('employee.txt', 'a+') as f:
self.emp_number = int(input("Enter emp number: "))
self.emp_last = input("Enter emp last: ")
self.emp_first = input("Enter emp first: ")
self.emp_position = input("Enter emp position: ")
self.emp_department = input("Enter emp department: ")
if self.emp_position == 'Manager':
self.emp_RD = 1000
allowence = 5000
self.emp_NDWM = self.emp_RD+allowence
elif self.emp_position == 'Asst.Manager':
self.emp_RD = 750
allowence = 300
self.emp_NDWM = self.emp_RD+allowence
elif self.emp_position == 'Secratery':
self.emp_RD = 500
allowence = 0
self.emp_NDWM = self.emp_RD+allowence
elif self.emp_position == 'Staff':
self.emp_RD = 475
allowence = 0
self.emp_NDWM = self.emp_RD+allowence
self.emp_birth = input("Enter emp birth: ")
f.write(f"{self.emp_number},{self.emp_last},{self.emp_first},{self.emp_position},{self.emp_department},{self.emp_birth},{self.emp_RD},{self.emp_NDWM}\n")
f.close()
print("Employee Added Successfully\n");

def update_emp(self):
number,last,first,pos,dep,birth,RD,NDWM = [],[],[],[],[],[],[],[]
with open('employee.txt', 'r') as f:
lines = f.readlines();
for line in lines:
number.append(int(line.split(",")[0]))
last.append(line.split(",")[1])
first.append(line.split(",")[2])
pos.append(line.split(",")[3])
dep.append(line.split(",")[4])
birth.append(line.split(",")[5])
RD.append(int(line.split(",")[6]))
NDWM.append(int(line.split(",")[7]))
f.close()
print("Update by All Datas")
num = int(input("Enter your emp number: "))
for i in range(len(number)):
if num == number[i]:
print("1-Emp Last")
print("2-Emp First")
print("3-Emp Position")
print("4-Emp Department")
print("5-Emp Birth")
ch = int(input("Enter your choice: "))
if ch==1:
ln = input("Enter new last naem: ")
last[i] = ln
elif ch==2:
fn = input("Enter new first naem: ")
first[i] = fn
elif ch==3:
p = input("Enter new position: ")
pos[i] = p
elif ch==4:
d = input("Enter new department: ")
dep[i] = d
elif ch==5:
bt = input("Enter new birth: ")
birth[i] = bt
else:
print("Wrong input try again")
# else:
# print("Emp Number Not Found")
with open('employee.txt', 'w') as wf:
for i in range(len(number)):
wf.write(f"{number[i]},{last[i]},{first[i]},{pos[i]},{dep[i]},{birth[i]},{RD[i]},{NDWM[i]}\n")
print("Updated Successfully\n")
wf.close()

def increase_pay(self):
number,last,first,pos,dep,birth,RD,NDWM = [],[],[],[],[],[],[],[]
with open('employee.txt', 'r') as f:
lines = f.readlines();
for line in lines:
number.append(int(line.split(",")[0]))
last.append(line.split(",")[1])
first.append(line.split(",")[2])
pos.append(line.split(",")[3])
dep.append(line.split(",")[4])
birth.append(line.split(",")[5])
RD.append(float(line.split(",")[6]))
NDWM.append(float(line.split(",")[7]))
f.close()
for i in range(len(number)):
if pos[i] == "Manager":
RD[i] = RD[i] * 2
NDWM[i] = RD[i] + 5000
else:
RD[i] = (RD[i]/2) + RD[i]
if pos[i] == "Asst.Manager":
NDWM[i] = RD[i] + 300
else:
NDWM[i] = RD[i] + 0
with open('employee.txt', 'w') as wf:
for i in range(len(number)):
wf.write(f"{number[i]},{last[i]},{first[i]},{pos[i]},{dep[i]},{birth[i]},{RD[i]},{NDWM[i]}\n")
print("Increased Pay Successfully\n")
wf.close()

def generate_slip(self):
number,last,first,pos,dep,birth,RD,NDWM = [],[],[],[],[],[],[],[]
with open('employees.txt', 'r') as f:
lines = f.readlines();
for line in lines:
number.append(int(line.split(",")[0]))
last.append(line.split(",")[1])
first.append(line.split(",")[2])
pos.append(line.split(",")[3])
dep.append(line.split(",")[4])
birth.append(line.split(",")[5])
RD.append(float(line.split(",")[6]))
NDWM.append(float(line.split(",")[7]))
f.close()
print("Pay Slips")
print("Emp Number\tEmp Last\tEmp First\tEmp Position\tEmp Department\tEmp Birth\tEmp RD\tEmp NDWM")
for i in range(len(number)):
print(f"{number[i]}\t\t{last[i]}\t\t{first[i]}\t\t{pos[i]}\t\t{dep[i]}\t\t{birth[i]}\t{RD[i]}\t{NDWM[i]}")
print("Pay Slip Generated Successfully\n")

def exit_program(self):
quit()

while True:
print("1 - ADD EMPLOYEE DATA")
print("2 - UPDATE EMPLOYEE DATA")
print("3 - INCREASE PAY")
print("4 - GENERATE PAY SLIP")
print("5 - EXIT PROGRAM")
print("----------")
userChoice = int(input("Enter Choice: "))
c = EmployeeInfo()
if userChoice == 1:
c.add_emp()
elif userChoice == 2:
c.update_emp()
elif userChoice == 3:
c.increase_pay()
elif userChoice == 4:
c.generate_slip()
elif userChoice == 5:
c.exit_program()

1 ADD EMPLOYEE DATA
2 UPDATE EMPLOYEE DATA
3 INCREASE PAY
4
GENERATE PAY SLIP
5
EXIT PROGRAM
Enter Choice: 4
Traceback (most recent call last):
File "H:/Projects/Python/main.py", line 181, in <module>
c.generate_slip ()
File "H:/Projects/Python/main.py", line 147, in generate_slip
number.append(int(line.split(",
")[0]))
ValueError: invalid literal for int() with base 10: '101 Doe John Manager Accounting 1/1/1990\n'
Process finished with exit code 1
-
Transcribed Image Text:1 ADD EMPLOYEE DATA 2 UPDATE EMPLOYEE DATA 3 INCREASE PAY 4 GENERATE PAY SLIP 5 EXIT PROGRAM Enter Choice: 4 Traceback (most recent call last): File "H:/Projects/Python/main.py", line 181, in <module> c.generate_slip () File "H:/Projects/Python/main.py", line 147, in generate_slip number.append(int(line.split(", ")[0])) ValueError: invalid literal for int() with base 10: '101 Doe John Manager Accounting 1/1/1990\n' Process finished with exit code 1 -
101 Doe John Manager Accounting 1/1/1990
102 Smith Jane Assistant Manager Human Resources 2/2/1991
103 Williams Bill Secretary Sales and Marketing 3/3/1992
104 Miller Bob Staff Manufacturing 4/4/1993
105 Brown Jill Staff Admin 5/5/1994
Transcribed Image Text:101 Doe John Manager Accounting 1/1/1990 102 Smith Jane Assistant Manager Human Resources 2/2/1991 103 Williams Bill Secretary Sales and Marketing 3/3/1992 104 Miller Bob Staff Manufacturing 4/4/1993 105 Brown Jill Staff Admin 5/5/1994
Expert Solution
steps

Step by step

Solved in 3 steps with 3 images

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY