
Student grade db for Cryptic
By:
Buffy on
May 1st, 2012 | syntax:
Python | size: 1.33 KB | hits: 29 | expires: Never
from random import randrange
def database_sort(dictionary):
return sorted([(a,b) for (b,a) in dictionary.items()], reverse=1)
def classaverage(total):
return (total) / 9
def median(total):
print (total) * 0.5
def print_to_text_file(database):
with open('high.txt', 'w') as f:
f.write('\n'.join('%s %s' % database[i] for i in xrange(3)))
f.close()
with open('medium.txt', 'w') as f:
f.write('\n'.join('%s %s' % database[i] for i in xrange(3,6)))
f.close()
with open('low.txt', 'w') as f:
f.write('\n'.join('%s %s' % database[i] for i in xrange(6, len(database))))
f.close()
def create_number(database, new_name, total):
grade = randrange(99) + 1
database[new_name] = grade
total = total + grade
return database, total
def create_person(database, total):
new_name = raw_input("What is the new name you want to add? ")
return create_number(database, new_name, total)
def main():
database = {}
total = 0
entry = 0
while entry < 9:
database, total = create_person(database, total)
entry = entry + 1
if entry == 9:
print "You have successfully entered 9 names into the database"
print "Your class average is", classaverage(total)
sorted_db = database_sort(database)
print database_sort(database)
print_to_text_file(sorted_db)
if __name__ == "__main__":
main()