Can';t找出问题所在(python)

Can';t找出问题所在(python),python,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

我是编程新手,几周前才开始编程入门。我在这个程序中遇到的问题是,在我输入品脱数之后,在第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()
#该程序将有助于计算红十字会血液运动每天采集的平均品脱血液
#它还将显示最高值和最低值
def main():
endProgram='否'
打印
而endProgram==“否”:
打印
总品脱=0
平均品脱=0
高品脱=0
低品脱=0
品脱=[0]*7
品脱=获得品脱(品脱)
总品脱=总品脱(品脱,总品脱)
averagePints=getAverage(总品脱,平均品脱)
highPints=高(品脱,高品脱)
低品脱=低(品脱,低品脱)
显示信息(平均品脱、高品脱、低品脱)
endProgram=raw_input('是否要结束程序?(输入是或否):')
而不是(endProgram==“是”或endProgram==“否”):
打印“请输入是或否”
endProgram=raw_input('是否要结束程序?(输入是或否):')
def获取品脱(品脱):
计数器=0
当计数器<7时:
品脱[计数器]=输入('输入收集的品脱:')
计数器=计数器+1
返回品脱
def getTotal(品脱,总品脱):
计数器=0
当计数器<7时:
总品脱=总品脱+品脱[计数器]
计数器=计数器+1
返回总品脱
def getAverage(总品脱、平均品脱):
平均品脱=总品脱/7
返回平均品脱
def getHigh(品脱,高品脱):
高品脱=品脱[0]
计数器=1
当计数器<7时:
如果品脱[计数器]>高品脱:
高品脱=品脱[计数器]
计数器=计数器+1
返回高品脱
def getLow(品脱,低品脱):
低品脱=品脱[0]
计数器=1
当计数器<7时:
如果品脱[计数器]<低品脱:
低品脱=品脱[计数器]
计数器=计数器+1
返回低品脱
def显示信息(平均品脱、高品脱、低品脱):
打印“捐献血液的平均品脱为:”,平均品脱
打印“献血的最高品脱是:”,高品脱
打印“最低献血品脱为:”,低品脱
main()

考虑在代码中加入一些空白。这会使它更容易阅读。我无法重现错误。我正确地打印了所有信息。您能告诉我们您提供了什么输入吗?可能与您当前的问题无关,但是
getHigh
中的缩进看起来是错误的。在每行代码之间添加空行对可读性有害。尝试对相关语句进行分组,在更松散的相关组之间使用空行。要求我们调试整个程序不太可能得到答案。向我们展示你已经尝试过的东西;尽量把问题简化成一个简单的问题,尽管在这个过程中你很可能会自己解决问题。