Question: Python Programming Can someone please modify the main function of this program to use simple file handling instead of pandas. We are not allowed to
Python Programming
Can someone please modify the main function of this program to use simple file handling instead of pandas. We are not allowed to use any library, need the program to load data from txt file and function properly without using any library.
Link to txt file -------> https://gofile.io/d/3zxrk2
import pandas as pd class courses: def __init__(self, DOW, course_name, start_time, end_time): self.DOW = DOW self.course_name = course_name self.start_time = start_time self.end_time = end_time class meeting: def __init__(self, DOW, meet_name, start_time, end_time): self.DOW = DOW self.meet_name = meet_name self.start_time = start_time self.end_time = end_time class TimeTable: my_courses = [] my_meetings = [] def __init__(self): pass def addCourse(self, course): self.my_courses.append(course) def getCourses(self, dow): courses = [] for x in self.my_courses: if (x.DOW == dow): courses.append(x) return courses def totalDistCourses(self): temp = {} for x in self.my_courses: temp[x.course_name] = 1 return len(temp) def isFree(self, dow, name, start, end): for x in self.my_courses: if x.start_time >= end or x.end_time <= start or dow != x.DOW: pass else: return False for x in self.my_meetings: if x.start_time >= end or x.end_time <= start or dow != x.DOW: pass else: return False return True def isFreeAt(self, dow, t): for x in self.my_courses: if dow != x.DOW: continue if x.start_time <= t and x.end_time >= t: print(f"Time ({t}) clashes with {x.course_name} ({x.start_time} - {x.end_time}) on {dow}.") return False for x in self.my_meetings: if dow != x.DOW: continue if x.start_time <= t and x.end_time >=t: print(f"Time ({t}) clashes with {x.meet_name} ({x.start_time} - {x.end_time}) on {dow}.") return False print(f"You are free at {t} on {dow}. ") return True def addMeeting(self, meet): self.my_meetings.append(meet) def isMeetPresent(self, dow, st): for x in self.my_meetings: if(x.DOW == dow and x.start_time == st): print(f"Meeting({st}-{x.end_time}) for {x.meet_name} on {x.DOW} removed from your weekly timetable.") self.my_meetings.remove(x) return print("Meeting not found.") def printDetails(self): print("---------------------------- \ ") for x in self.my_courses: print(x.DOW, x.course_name, x.start_time, x.end_time) print("---------------------------- \ ") for x in self.my_meetings: print(x.DOW, x.meet_name, x.start_time, x.end_time) print("----------------------------- \ ") def main(): file_name = input("File to initialize the system: ") names = ["DOW", "Name", "Start", "End"] df = pd.read_csv(file_name, delimiter=' ', header=None, names=names) myTimeTable = TimeTable() for ind in df.index: dow = df["DOW"][ind] name = df["Name"][ind] start = df["Start"][ind] end = df["End"][ind] course = courses(dow, name, start, end) myTimeTable.addCourse(course) pass while True: command = input("Command: ") if (command == "Exit"): print("Bye") return elif (command == "ListCourses"): dayofweek = input("Day of week: ") totalCourses = myTimeTable.getCourses(dayofweek) if (len(totalCourses) == 0): print("You have no session on " + dayofweek + ". ", end='') elif (len(totalCourses) == 1): print("You have 1 session(s) on " + dayofweek + ": ", end='') print(totalCourses[0].course_name + " - from " + totalCourses[0].start_time+" to "+totalCourses[0].end_time+". ", end=''), continue else: print("You have " + str(len(totalCourses)) + " session(s) on " + dayofweek + ":") for i in range(len(totalCourses)): print(totalCourses[i].course_name + " - from " + totalCourses[i].start_time + " to " + totalCourses[i].end_time + ". " ) continue elif(command == "TotalCourses"): tc = myTimeTable.totalDistCourses() print("You have " + str(tc) + " course(s) in your weekly timetable.") elif(command == "AddMeeting"): dayofweek = input("Day of week: ") st = input("Start time: ") et = input("End time: ") name = input("Name: ") if(myTimeTable.isFree(dayofweek,name,st,et)): meet = meeting(dayofweek, name, st, et) myTimeTable.addMeeting(meet) print(f"Meeting ({st} - {et}) for {name} on {dayofweek} added to your weekly timetable. ", end='') else: print(f"Timeslot({st}-{et}) clashes with other session(s) on {dayofweek}. ", end='') elif(command == "DelMeeting"): dayofweek = input("Day of week: ") st = input("Start time of the meeting: ") myTimeTable.isMeetPresent(dayofweek, st) elif(command == "CheckTime"): dayofweek = input("Day of Week: ") st = input("Time: ") myTimeTable.isFreeAt(dayofweek, st) else: break main() Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
