Skip to content

Instantly share code, notes, and snippets.

@EdwardIII
Created September 7, 2014 20:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save EdwardIII/6d3c721dbad1d216bbdf to your computer and use it in GitHub Desktop.
Save EdwardIII/6d3c721dbad1d216bbdf to your computer and use it in GitHub Desktop.
#!/usr/bin/env python
categories = ['House', 'Car', 'Work', 'Family', 'Eating', 'Drinking']
i = 0
rateable_tasks = []
for category in categories:
for i in xrange(0, 5):
rateable_task = 'Some task that pertains to this category #%s'
rateable_tasks.append({ 'name': rateable_task % i, 'category': category })
# Let's add one extra rateable taskon to make 31 tasks:
rateable_tasks.append({
'name': 'One final task to make up the numbers',
'category': 'Drinking',
})
# Example, trying to calculate an overall average rating
# for November which has only 30 days
# People rate themselves on a 1-6 scale
number_of_days_in_november = 30
ratings = []
for i in xrange(0, number_of_days_in_november):
ratings.append({
'rating': 6,
'task': rateable_tasks[i]['name'],
'category': rateable_tasks[i]['category']
})
# See how many they could have rated
drinking_related_tasks = [ task for task in rateable_tasks if task['category'] == 'Drinking' ]
num_drinking_related_tasks = len(drinking_related_tasks)
# Calculate the average
drinking_ratings = [ rating['rating'] for rating in ratings if rating['category'] == 'Drinking' ]
average_drinking_rating = sum(drinking_ratings) / num_drinking_related_tasks
print "Your average score for drinking was: %s" % average_drinking_rating
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment