Повторите для циклического чтения файла, пока не будет выполнено условие - PullRequest
0 голосов
/ 12 мая 2019

Я хочу прочитать файл построчно. Эти строки содержат операторы и числа. Если это «+», я добавлю следующее число, а «-» я вычту следующее число. Это будет храниться в переменной count. Эта переменная count будет сохранена в списке. Я буду продолжать циклически проходить по файлу, пока не будет найдено повторяющееся значение счетчика. Моя идея состоит в том, чтобы продолжать цикл, пока я не найду дубликат (отсюда мое условие 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 голосов
/ 12 мая 2019

Потенциальное решение может двигаться

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]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...