2016-05-20 10 views
-3
def main(): 
    endProgram = 'no' 
    print 
    while endProgram == 'no': 
    print 


    pints = [0] * 7 
    totalPints = 0 
    averagePints = 0 
    highPints = 0 
    lowPints = 0 

    pints = getPints(pints) 
    totalPints = getTotal(pints, totalPints) 
    averagePints = getAverage(totalPints, averagePints) 
    highPints = getHigh(pints, highPints) 
    lowPints = getLow(pints, lowPints) 
    displayInfo(averagePints, highPints, lowPints) 

    endProgram = raw_input('Do you want to end program? (yes or no): ') 
    while not (endProgram == 'yes' or endProgram == 'no'): 
     print 'Please enter a yes or no' 
     endProgram = raw_input('Do you want to end program? (yes or no): ') 

def getPints(pints): 
    counter = 0 
    while counter < 7: 
     pints[counter] = input('Enter pints collected: ') 
     counter = counter + 1 
    return pints 

def getTotal(pints, totalPints): 
    counter = 0 
    while counter < 7: 
     totalPints = totalPints + pints[counter] 
     counter = counter + 1 
    return totalPints 

def getAverage(totalPints, averagePints): 
    averagePints = float(totalPints)/7 
    return averagePints 

def getHigh(pins,highPints): 
    highPints = pints[0] 
    counter = 1 
    while counter < 7: 
     if pints[counter] > highPints: 
      highPints = pints[counter] 
     counter = counter + 1 
    return highPints 

def getLow(pints, lowPints): 
    lowPints = pints[0] 
    counter = 1 
    while counter < 7: 
     if pints[counter] < lowPints: 
      lowPints = pints[counter] 
      counter = counter + 1 
    return lowPints 

def displayInfo(averagePints, highPints, lowPints): 
    print 'The average number of pints donated is', averagePints 
    print 'The highest pints donated is', highPints 
    print 'The lowest pints donated is', lowPints 
print 
main() 

Antwort

1

In Ihrer Funktion getHigh Sie das Argument haben pins statt pints und dann versuchen Index pints[0]

Verwandte Themen