重申循环读取文件直到满足条件

时间:2019-05-12 01:28:12

标签: python loops for-loop while-loop

我想逐行读取文件。这些行包含运算符和数字。如果它是“ +”,我将加上后面的数字,如果它是“-”,我将减去后面的数字。这将保存在一个计数变量中。然后,此计数变量将存储在列表中。我将继续遍历文件,直到找到重复的计数值。我的想法是继续循环直到找到重复的(因此我的while条件)。但是,当我到达文件末尾时,我需要重新开始!因此,文件末尾的计数现在将从头开始

同时循环,然后是for循环

def computeProblemOnePointFive(inputFileString):
    inputFile = open(inputFileString, "r")
    count = 0
    countsList=[]
    while len(countsList) == len(set(countsList)):
        for line in inputFile:
            if "+" in line:
                value = int(line.strip("+"))
                count = count + value
                countsList.append(count)
            if "-" in line:
                value = int(line.strip("-"))
                count = count - value
                countsList.append(count)
    return countsList[-1]

1 个答案:

答案 0 :(得分:0)

潜在的解决方案可能正在发展

inputFile = open(inputFileString, "r")

进入while循环

def computeProblemOnePointFive(inputFileString):
    # the line was here previously
    count = 0
    countsList=[]
    while len(countsList) == len(set(countsList)):
        inputFile = open(inputFileString, "r") #the line that was moved
        for line in inputFile:
            if "+" in line:
                value = int(line.strip("+"))
                count = count + value
                countsList.append(count)
            if "-" in line:
                value = int(line.strip("-"))
                count = count - value
                countsList.append(count)
    return countsList[-1]