无法弄清楚出了什么问题(python)

时间:2016-02-22 06:47:33

标签: python

我是编程的新手,几周前才开始编程。我在这个程序中遇到的问题是,在我输入品脱数量之后,在第7次之后,它只给我一个空白行,没有错误,但它也没有移动到程序的其余部分。

我想知道需要做什么,或者当这种情况发生时意味着什么?

#This program will assist in calculating average pints of blood collected daily for a red cross blood drive
#It will also display the highest value, and lowest value

def main():
    endProgram = 'no'
    print
    while endProgram == 'no':
        print
        totalPints = 0
        averagePints = 0
        highPints = 0
        lowPints = 0
        pints = [0] * 7
        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? (Enter 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? (Enter 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 = totalPints / 7
    return averagePints

def getHigh(pints,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 pints of donated blood is: ', averagePints
    print 'The highest pints of blood donated is: ', highPints
    print 'The lowest pints of blood donated is: ', lowPints


main()

0 个答案:

没有答案