On Sat, 25 Aug 2012 22:20:05 -0400, Christopher McComas wrote: > Marshall,24,Ohio State,48, > Kentucky,14,Indiana,10, > Marshall,10,Indiana,7, > Ohio State,28,Kentucky,10 > > That's just a quick example, I can handle seperating the data in the > lines, figuring it all out, I just am unsure of how to keep a running > total of a team's record. I would do "for line in file:" then on the > first line I see that Marshall lost so they would have 1, Ohio State won > so they'd have 1 win. It'd go to the next line Kentucky 1 win, Indiana 1 > loss, then on the 3rd line, Marshall got a win so they'd have 1 win, but > it would have to remember that loss from line 1...
There are many ways to do this. Here's one: we keep three sets of data, wins, losses and ties. wins = {} losses = {} ties = {} for line in open("datafile.txt"): line = line.strip() # get rid of leading and trailing whitespace line = line.rstrip(',') # and any trailing comma teamA, scoreA, teamB, scoreB = line.split(',') # split on commas teamA = teamA.strip().title() # normalise the case teamB = teamB.strip().title() scoreA = int(scoreA) scoreB = int(scoreB) if scoreA == scoreB: # Handle a draw. ties[teamA] = ties.get(teamA, 0) + 1 ties[teamB] = ties.get(teamB, 0) + 1 else: if scoreA > scoreB: winner = teamA loser = teamB else: winner = teamB loser = teamA wins[winner] = wins.get(winner, 0) + 1 losses[loser] = losses.get(loser, 0) + 1 Once you've done that, you can check the win/loss score of any team: name = 'Marshall' w = wins.get(name, 0) l = losses.get(name, 0) d = ties.get(name, 0) total = w+l+d print( "Team %s played %d games, won %d, lost %d and tied %d." % (name, total, w, l, d) ) If you want to store these results permanently, you need to write them out to file. You can roll your own, but a simpler way might be to use one of the pickle, json, csv or plistlib modules to do it. -- Steven -- http://mail.python.org/mailman/listinfo/python-list