Temp
By: Salar Khosravi • 2026-09-27 17:27
HTML Code
import json
# students = {
# '103': {'name': 'ali', 'grade':{}},
# '104': {'name': 'ali', 'grade':{'math': 18, 'chimi': 12}},
# '105': {'name': 'ali', 'grade':{'math': 18, 'chimi': 12}},
# }
class SchoolSystem:
def __init__(self) -> None:
self.students = self.get_data()
print('school system is running')
def show_menu(self):
self.set_data()
print('\n'*3)
print('='*50)
print('1- Show Students list')
print('2- Show a Student grade')
print('3- Add Student')
print('4- Assign Grade')
print('5- Save')
print('6- Save and Exit')
def add_student(self):
name = input('name: ')
id = len(self.students) + 1
self.students.update({
str(id): {'name': name, 'grade':dict()}
})
def show_student_list(self):
if not self.students:
print('there is no student')
else:
for id in self.students:
print(f"{id}- {self.students[id]['name']}")
def show_grade(self):
self.show_student_list()
while True:
id = input('which id: ')
if id in self.students.keys():
break
else:
print('id is not valid')
print(f"{id}- {self.students[id]['name'].upper()}")
if not self.students[id]['grade']:
print('there is no grade')
else:
for course_name in self.students[id]['grade']:
print(f"\t{course_name.capitalize()} {self.students[id]['grade'][course_name]}")
def get_data(self):
try:
with open('school_data.json', 'r') as f:
return json.load(f)
except:
return dict()
def set_data(self):
data = self.students
with open('school_data.json', 'w') as f:
json.dump(data, f)
Download