Python Study Groups Resources for people learning Python

Welcome to the study group! Find resources and exercises below.

Exercise - Roman Numerals

Roman numerals can be used to represent numbers:

1 = I
4 = IV
5 = V
9 = IX
10 = X
50 = L
100 = C
500 = D
1000 = M

Write a function that can convert a number (up to 3000) into Roman numerals.


Try doing this as a TDD exercise. What are the key test cases?

Exercises Sources

Some places to look for programming exercises to work through:

Exercise - Dictionary Keys

Given a pretty standard dictionary:

d = {
  'Jane': 33,
  'Elena': 17,
  'Margery': 28,
  'Savannah': 21

And a list of desired keys:

keys = ['Elena', 'Savannah']

How can you return a filtered version of d, without affecting what's stored in the original d?

What if the dictionary is more complex?

d = {
  'Jane': {
    'age': 33,
    'location': 'San Francisco'
  'Elena': {
    'age': 17,
    'location': 'Petaluma'

keys = ['age']

Try writing tests before working on the filter code itself. The specification of keys is up to you - can you think of edge cases where the format above is going to fail?


Coursera has several Python-focused classes which we've heard good things about.

For those who aren't complete beginners:

Coursera classes work well with study groups since the regular schedule helps keep you on track (and self-accountable!), plus you can meet others taking the same class. It's sometimes good to hear that you weren't the only one bashing your head against a particular assignment!

Getting Started

If you're brand new to Python, try one of these:

It's worth discussing with people around you what your goals are. Is there something specific you want to build? Are you hoping to focus on data science, web apps, games, or something else?