python 'NoneType' object is not iterable
<p>This program is a user interface for a golf round.  The Player and League classes should not be changed.  The user interface allows the user to enter 9 hole scores for each of the players in a text file and returns a gross score, pars, and birdies for each player.  I'm getting this error (which I don't know how to fix) after the last set of scores are entered so it seems to be validating the scores as they're entered but also validating them at the end, and they're no longer there.  I need to make it so that they are checked after they are entered and that's it. I'm not sure how to do this</p>

<pre><code>Traceback (most recent call last):
  File "&lt;pyshell#41&gt;", line 1, in &lt;module&gt;
    main()
  File "/Users/tinydancer9454/Documents/python/golfRound.py", line 102, in main
    isValidScore(holeScores)
  File "/Users/tinydancer9454/Documents/python/golfRound.py", line 120, in isValidScore
    for score in holeScores:
TypeError: 'NoneType' object is not iterable
</code></pre>

<p>Here's the code:</p>

<pre><code>class Player:
    """ Represents a player in the golf league """

    PAR = [4, 3, 4, 3, 4, 5, 4, 3, 5]
    """ par for each of the 9 holes """

    def __init__(self, name):
        """ creates a Player and keeps track of stats """
        self.__name = name
        self.__pars = 0
        self.__birdies = 0
        self.__gross = 0

    def getName(self):
        """ returns a player's name """
        return self.__name

    def getGross(self):
        """ returns a player's gross score """
        return self.__gross

    def getPars(self):
        """ returns number of pars made """
        return self.__pars

    def getBirdies(self):
        """ returns number of birdies made """
        return self.__birdies

    def recordScores(self, holeScores):
        """ mutator method that uses the results of one round of play
            (9 holes) to update a player's stats """
        self.__gross = sum(holeScores)
        self.__findparsandbirdies(holeScores)

    def __findparsandbirdies(self, scores):
        """ helper method that finds the number of pars and birdies """

        pars = 0
        birdies = 0
        hole = 0
        for score in scores:
            if score == Player.PAR[hole]:
                pars += 1
            if score == Player.PAR[hole] - 1:
                birdies += 1
            hole += 1
        self.__pars = pars
        self.__birdies = birdies

    def __str__(self):
        """ returns a string representation of a player """
        return 'a Player named ' + self.__name

class League:
    """ represents the players of a golf league """

    def __init__(self, fileName = 'players.txt'):
        """ creates a list of Player objects from the
            names stored in the file specified """
        self.__playerList = []
        datafile = open(fileName, 'r')
        for line in datafile:
            playerName = line.rstrip()
            player = Player(playerName)
            self.__playerList.append(player)

    def getNumPlayers(self):
        """ returns the number of players is the league """
        return len(self.__playerList)

    def getPlayerbyPosition(self, position):
        """ returns the player at the specified position """
        return self.__playerList[position]

    def getPlayerbyName(self, name):
        """ returns the player with the specified name """
        for player in self.__playerList:
            if player.getName() == name:
                return player
        return None

    def __str__(self):
        return 'a golf league with ' + str(self.getNumPlayers()) + ' players'



def main():
    """The input and output for the program"""
    l= League()
    players= []
    holeScores= enterScores(l, players)
    isValidScore(holeScores)
    output(players)


def enterScores(l, players):
    """enter the scores"""
    for position in range(l.getNumPlayers()):
        inputScore= input("Please enter a list of the player's scores: ")
        holeScores= (int(score) for score in inputScore.split(','))
        for score in holeScores:
            while not isValidScore(holeScores):
                holeScores= input("Please enter a valid list of scores: ")
        p= l.getPlayerbyPosition(position)
        players.append(p.recordScores(holeScores))
        p.recordScores(holeScores)

def isValidScore(holeScores):
    """checks if the scores entered for a single hole are 1 to 10, inclusive"""
    for score in holeScores:
        if not int:
            return False
        elif score &lt; 1:
            return False
        elif score &gt; 10:
            return False
    return True


def output(grossScore, pars, birdies):
    """prints output"""
    for player in players:
        print(player.getName())
        print('Gross score:', player.getGross())
        print('Pars: ', player.getPars())
        print('Birdies: ', player.getBirdies())
</code></pre>
