can you help me with the indentation in this code, please. import csv # Define global variables student_fields = [ 'ID', 'name', 'courses', 'absences', 'm1', 'm2', 'm3', 'total' ] student_database = 'students.csv' def display_menu(): print("--------------------------------------") print(" Welcome to Student Management System")
Hi, can you help me with the indentation in this code, please.
import csv
# Define global variables
student_fields = [
'ID', 'name', 'courses', 'absences', 'm1', 'm2', 'm3', 'total'
]
student_database = 'students.csv'
def display_menu():
print("--------------------------------------")
print(" Welcome to Student Management System")
print("---------------------------------------")
print("1. Add New Student")
print("2. View Students")
print("3. Search Student by iD")
print("4. Search Student by courses")
print("5. Delete Student")
print("6. Quit")
def add_student():
print("-------------------------")
print("Add Student Information")
print("-------------------------")
global student_fields
global student_database
student_data = []
for field in student_fields:
value = input("Enter " + field + ": ")
student_data.append(value)
with open(student_database, "a", encoding="utf-8") as f:
writer = csv.writer(f)
writer.writerows([student_data])
print("Data saved successfully")
input("Press any key to continue")
return
def view_students():
global student_fields
global student_database
print("--- Student Records ---")
with open(student_database, "r", encoding="utf-8") as f:
reader = csv.reader(f)
for x in student_fields:
print(x, end='\t |')
print(
"\n-----------------------------------------------------------------"
)
for row in reader:
for item in row:
print(item, end="\t |")
print("\t ")
input("Press any key to continue")
def search_student_ID():
global student_fields
global student_database
print("--- Search Student ---")
ID = input("Enter ID no. to search: ")
with open(student_database, "r", encoding="utf-8") as f:
reader = csv.reader(f)
for row in reader:
if len(row) > 0:
if ID == row[0]:
print("----- Student Found -----")
print("ID: ", row[0])
print("Name: ", row[1])
print("courses: ", row[2])
print("absences: ", row[3])
print("m1: ", row[4])
print("m2: ", row[5])
print("m3: ", row[6])
print("total: ", row[7])
break
else:
print("ID not found in our
input("Press any key to continue")
def search_student_courses():
global student_fields
global student_database
print("--- Search Student by courses ---")
courses = input("Enter course to search: ")
with open(student_database, "r", encoding="utf-8") as f:
reader = csv.reader(f)
for row in reader:
if len(row) > 2:
if courses == row[2]:
print("----- Student Found -----")
print("ID: ", row[0])
print("Name: ", row[1])
print("courses: ", row[2])
print("absences: ", row[3])
print("m1: ", row[4])
print("m2: ", row[5])
print("m3: ", row[6])
print("total: ", row[7])
break
else:
print("courses not found in our database")
input("Press any key to continue")
def delete_student():
global student_fields
global student_database
print("--- Delete Student ---")
ID = input("Enter ID. to delete: ")
student_found = False
updated_data = []
with open(student_database, "r", encoding="utf-8") as f:
reader = csv.reader(f)
counter = 0
for row in reader:
if len(row) > 0:
if ID != row[0]:
updated_data.append(row)
counter += 1
else:
student_found = True
if student_found is True:
with open(student_database, "w", encoding="utf-8") as f:
writer = csv.writer(f)
writer.writerows(updated_data)
print("ID ", ID, "deleted successfully")
else:
print("ID not found in our database")
input("Press any key to continue")
while True:
display_menu()
choice = input("Enter your choice: ")
if choice == '1':
add_student()
elif choice == '2':
view_students()
elif choice == '3':
search_student_ID()
elif choice == '4':
search_student_courses()
elif choice == '5':
delete_student()
else:
break
print("-------------------------------")
print(" Thank you for using our system")
print("-------------------------------")

Step by step
Solved in 2 steps









