/
student_database.py
86 lines (78 loc) · 3.07 KB
/
student_database.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
students = [["Ben" , {"Maths": 67, "English": 78, "Science": 72}],
["Mark", {"Maths": 56, "Art": 64, "History": 39,
"Geography": 55}],
["Paul", {"English": 66, "History": 88}]]
grades = ((0, "FAIL"), (50, "D"), (60, "C"), (70, "B"), (80, "A"), (101, "CHEAT!"))
def print_report_card(report_student=None):
for student in students:
if (student [0] == report_student)or (report_student == None) :
print ("Report card for student ", student [0])
for subject, mark in student [1].items():
for grade in grades:
if mark < grade [0]:
print (subject, " : ", prev_grade)
break
prev_grade = grade[1]
def add_student (student_name):
global students
for student in students:
if student[0] == student_name:
return "Student already in database"
students.append([student_name, {}])
return "Student added successfully"
def add_mark (student_name, subject, mark):
global students
for student in students:
if student[0] == student_name:
if subject in student[1].keys():
print(student_name, " already has a mark for ",
subject)
user_input = input == ("Overwrite Y/N? ")
if user_input == "Y" or "y":
student[1][subject] = mark
return "Student's mark updated"
else:
return "Student's mark not updated"
else:
student[1][subject] = mark
return "Student's mark added"
return "Students not found"
while True:
print("Welcome to the Digital Empress Database")
print("What can I help you with?")
print("Enter 1 to view all report cards")
print("Enter 2 to view the report card for a student")
print("Enter 3 to add a student")
print("Enter 4 to add a mark to a student")
print("Enter 5 to exit")
try:
user_choice = int (input("Choice: "))
except ValueError:
print ("That's not a number I recognize")
user_choice = 0
if user_choice == 1:
print_report_card()
elif user_choice == 2:
enter_student = input ("Which student? ")
print(add_student(enter_student))
elif user_choice ==3:
enter_student = input("Student name? ")
print(add_student(enter_student))
elif user_choice == 4:
enter_student = input("Student name? ")
enter_subject = input("Subject? ")
num_error = True
while num_error:
num_error = False
try:
enter_mark = int(input("Mark? "))
except ValueError:
print("I dont't recognise that as number")
num_error = True
print(add_mark(enter_student, enter_subject, enter_mark))
elif user_choice == 5:
break
else:
print ("Unknown choice")
input("Press enter to continue")
print("Goodbye and thank you for using the Raspberry Pi", "Digital Empress Database")