import random, csv
nos = 135
nop = 8
percentile = nos // nop
grades = ["A+", "A", "B+", "B", "C+", "C", "D", "F",]
def WriteCSV():
out = open("Marks.csv", 'w', newline='')
W = csv.writer(out)
W.writerow(["English", "Maths"])
for i in range(nos):
E = random.randint(30, 100)
M = random.randint(30, 100)
W.writerow([E, M])
out.close()
def ReadCSV():
inn = open("Marks.csv", 'r', newline='')
R = csv.reader(inn)
L = list(R)
eMarks, mMarks = [], []
eCutOffs, mCutOffs = [], []
for i in range(1, len(L)):
eMarks.append(int(L[i][0]))
mMarks.append(int(L[i][1]))
eMarks.sort(reverse=True)
mMarks.sort(reverse=True)
for i in range(0, len(eMarks), percentile):
print(eMarks[i:i+percentile])
if i < nop * percentile:
eCutOffs.append(eMarks[i+percentile])
print(eCutOffs)
for i in range(1, len(L)):
for j in range(len(eCutOffs)):
if int(L[i][0]) >= eCutOffs[j]:
grade = grades[j]
L[i].insert(1, grade)
print(L)
out = open("Grades.xlsx", 'w', newline='')
W = csv.writer(out)
W.writerows(L)
out.close()
WriteCSV()
ReadCSV()
No comments:
Post a Comment