Iterate Digits Starter Code

#!/usr/bin/python

import RPi.GPIO as GPIO
from time import sleep

GPIO.setmode(GPIO.BOARD)

# Define Pins
segmentA = 16
segmentB = 18
segmentC = 38
segmentD = 36
segmentE = 15
segmentF = 12
segmentG = 22
segmentH = 40
digit1 = 7
digit2 = 11
digit3 = 13
digit4 = 29
digit5 = 31
digit6 = 33

# Set up Pins
GPIO.setup(segmentA,GPIO.OUT)
GPIO.setup(segmentB,GPIO.OUT)
GPIO.setup(segmentC,GPIO.OUT)
GPIO.setup(segmentD,GPIO.OUT)
GPIO.setup(segmentE,GPIO.OUT)
GPIO.setup(segmentF,GPIO.OUT)
GPIO.setup(segmentG,GPIO.OUT)
GPIO.setup(segmentH,GPIO.OUT)
GPIO.setup(digit1,GPIO.OUT)
GPIO.setup(digit2,GPIO.OUT)
GPIO.setup(digit3,GPIO.OUT)
GPIO.setup(digit4,GPIO.OUT)
GPIO.setup(digit5,GPIO.OUT)
GPIO.setup(digit6,GPIO.OUT)

# Define functions
def turnOn(segmentList, digitList) :
  for x in digitList :
    whichDigit = 'digit' + str(x)
    GPIO.output(eval(whichDigit),GPIO.LOW)
  for x in segmentList :
    whichSegment = 'segment'+x
    GPIO.output(eval(whichSegment),GPIO.HIGH)
  return

def turnOff(segmentList, digitList) :
  for x in digitList :
    whichDigit = 'digit' + str(x)
    GPIO.output(eval(whichDigit),GPIO.HIGH)
  for x in segmentList :
    whichSegment = 'segment' + x
    GPIO.output(eval(whichSegment),GPIO.LOW)
  return

def display(whichNumber,whichDigit) :
  turnOff(['A','B','C','D','E','F','G','H'],[1,2,3,4,5,6])
  if (whichNumber == 0) :
    turnOn(['A','B','C','D','E','F'], [whichDigit])
  elif (whichNumber == 1) :
    turnOn(['B','C'], [whichDigit])
  elif (whichNumber == 2) :
    turnOn(['A','B','D','E','G'], [whichDigit])
  elif (whichNumber == 3) :
    turnOn(['A','B','C','D','G'], [whichDigit])
  elif (whichNumber == 4) :
    turnOn(['B','C','F','G'], [whichDigit])
  elif (whichNumber == 5) :
    turnOn(['A','C','D','F','G'], [whichDigit])
  elif (whichNumber == 6) :
    turnOn(['A','C','D','E','F','G'], [whichDigit])
  elif (whichNumber == 7) :
    turnOn(['A','B','C'], [whichDigit])
  elif (whichNumber == 8) :
    turnOn(['A','B','C','D','E','F','G'], [whichDigit])
  elif (whichNumber == 9) :
    turnOn(['A','B','C','D','F','G'], [whichDigit])
  elif (whichNumber == 10) :
    turnOn(['H'], [whichDigit])
  return



for num in range(1,7) :
  display(num,num)
  sleep(1)


GPIO.cleanup()