Don't like ads? PRO users don't see any ads ;-)
Guest

Student grade db for Cryptic

By: Buffy on May 1st, 2012  |  syntax: Python  |  size: 1.33 KB  |  hits: 29  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. from random import randrange
  2.  
  3. def database_sort(dictionary):
  4.         return sorted([(a,b) for (b,a) in dictionary.items()], reverse=1)
  5.  
  6. def classaverage(total):
  7.         return (total) / 9
  8.  
  9. def median(total):
  10.         print (total) * 0.5    
  11.  
  12. def print_to_text_file(database):
  13.         with open('high.txt', 'w') as f:
  14.                 f.write('\n'.join('%s %s' % database[i] for i in xrange(3)))
  15.         f.close()
  16.        
  17.         with open('medium.txt', 'w') as f:
  18.                 f.write('\n'.join('%s %s' % database[i] for i in xrange(3,6)))
  19.         f.close()
  20.        
  21.         with open('low.txt', 'w') as f:
  22.                 f.write('\n'.join('%s %s' % database[i] for i in xrange(6, len(database))))
  23.         f.close()
  24.        
  25. def create_number(database, new_name, total):
  26.         grade = randrange(99) + 1
  27.         database[new_name] = grade
  28.         total = total + grade
  29.         return database, total
  30.        
  31. def create_person(database, total):
  32.         new_name = raw_input("What is the new name you want to add? ")
  33.         return create_number(database, new_name, total)
  34.  
  35. def main():
  36.         database = {}
  37.         total = 0
  38.         entry = 0
  39.         while entry < 9:
  40.                 database, total = create_person(database, total)
  41.                 entry = entry + 1
  42.         if entry == 9:
  43.                 print "You have successfully entered 9 names into the database"
  44.                 print "Your class average is", classaverage(total)
  45.                 sorted_db = database_sort(database)
  46.                 print database_sort(database)
  47.                 print_to_text_file(sorted_db)
  48.                
  49. if __name__ == "__main__":
  50.         main()