Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-

intro CS

Name: Anonymous 2012-11-07 21:49

newbie here, I need help with an assignment

When I run this I keep getting "list index out of range". I assume it's because my while statement is pretty much ineffective as a sentinel.  I have no idea how to fix it, though (the input file is after the code):


def setup ():
   
    print ()
    print ("Player             Team                 At Bats  Hits   Walks       Avg    OnBase%")
    print ("----------------------------------------------------------------------------------")


def table ():

    inFile = open ("baseball", "r")
    data = inFile.readline ()
    walkSum = 0
    tBatAvg = 0   
    maxm = -1000000
    minm = 10000000   

   
    while data != " ":
       
        data = data.split (",")
        name = data [0]
        team = data [1]
        atBats = eval (data [2])
        hits = eval (data [3])
        walks = eval (data [4])
        batAvg = (hits / atBats) * 1000
        onBase = ((hits + walks) / (atBats + walks)) * 1000
        walkSum = walkSum + walks
        tBatAvg = tBatAvg + batAvg
       

        if batAvg > maxm:
            maxm = batAvg
            maxmName = name

        if walks < minm:
            minm = walks
            minmName = name
       
        print ("{0:19}{1:21}{2:6}{3:7}{4:8}{5:10.1f}{6:11.1f}".format (name, team, atBats, hits, walks, batAvg, onBase))

        data = inFile.readline ()
   
       
    print ("----------------------------------------------------------------------------------")
    print ("Highest Batting Average:", maxmName, ":", maxm)
    print ("Lowest Number of Walks:", minmName, ":", minm)
    print ("Total Walks:", walkSum)
    print ("Total Batting Average :", (tBatAvg / 6))
    print ("\n")


def main ():

    setup ()
    table ()


main ()



Miguel Cabrera, Detroit Tigers, 622, 205, 66
Albert Pujols, Los Angels Angels, 607, 173, 52
David Ortiz, Boston Red Sox, 324, 103, 56
Carlos Beltran, St. Louis Cardinals, 547, 147, 65
Hunter Pence, San Francisco Giants, 617, 156, 56
Derek Jeter, New York Yankees, 683, 216, 45

Name: Anonymous 2012-11-07 21:52

I need help with an assignment
no

Name: Anonymous 2012-11-07 22:09

Name: Anonymous 2012-11-07 23:30

>>3

Thanks.  I actually found a way to do it using

while data != "" and len (data) > 1:

but that taught me something new.

Don't change these.
Name: Email:
Entire Thread Thread List