Question: PYTHON * * please model the following programs logic using a flowchart. Flowcharts may be created using drawing shapes in a program such as Word

PYTHON
**please model the following programs logic using a flowchart. Flowcharts may be created using drawing shapes in a program such as Word or PowerPoint.**
```
import csv
class Student:
def __init_(self, first_name, last_name, major, grade):
self.first_name = first_name
self.last_name = last_name
self.major = major
self.grade = grade
class ClassRecords:
def __init__(self, file_name):
self.file_name = file_name
self.students = self.load_records()
def load_records(self):
try:
with open(self.file_name, 'r') as file:
reader = csv.reader(file)
students =[Student(*row) for row in reader]
return students
except FileNotFoundError:
return []
def save_records(self):
with open(self.file_name, 'w', newline='') as file:
writer = csv.writer(file)
for student in self.students:
writer.writerow([student.first_name, student.last_name, student.
def add_record(self, first_name, last_name, major, grade):
new_student = Student(first_name,- last_name, major, grade)
self.students.append (new_student)
self.save_records()
print(f"Record added: {first_name}{last_name}({major})- Grade: {grade
def display_all_records(self):
for student in self.students:
print(f"{student.first_name}{student.last_name}({student.major})-
def display_records_by_major(self, major):
major_records =[student for student in self.students if student.major.l
if major_records:
for student in major_records:
print(f"{student.first_name}{student.last_name}- Grade: {stude
else:
print(f"No records found for major: {major}")
def compute_average_score(self):
if not self.students:
print("No records found.")
return
total_score = sum(float(student.grade) for student in self.students)
average_score = total_score / len(self.students)
print(f"Average score for the class: {average_score:.2f}")
# Example usage
file_name = "class_records.csv"
class_records = ClssRecords(file_name)
while True:
print("
Menu:")
print("1. Add New Record")
print("2. Display All Records")
print("3. Display Records by Major")
print("4. Compute Average Score")
print("5. Quit")
choice = input("Enter your choice (1-5): ")
if choice =='1':
first_name = input("Enter first name: ")
last_name = input("Enter last name: ")
major = input("Enter major: ")
grade = input("Enter grade: ")
class_records.add_record(first_name, last_name, major, grade)
elif choice =='2':
class_records.display_all_records()
elif choice =='3':
major = input("Enter major to display records: ")
class_records.display_records_by_major(major)
elif choice =='4':
class_records.compute_average_score()
elif choice =='5':
print("Exiting program.")
break
else:
print("Invalid choice. Please enter a number between 1 and 5.")
```
PYTHON * * please model the following programs

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!