Как исправить разбор текстового файла? - PullRequest
2 голосов
/ 07 июля 2019

Я пытаюсь проанализировать текстовый файл, с этого момента я могу решить, находится ли он над строкой y=x, вкл, вкл или ниже.Код выполняется, но не выполняет мои readline() s.

Мой текстовый файл, который я использую, таков:

4
2
1
3
3
5
6
7
8

Я изменил код, выполнив различные формыreadline().

if res == "yes":
    with open('text.txt', 'r') as f:
        alist = [line.rstrip() for line in f]
        timesgo = 0
        terms = f.readline()
        while str(terms) > str(timesgo):
            temp = f.readline()
            y = f.readline()
            if temp < y:
                u = str(temp) + "," + str(y)
                Above.append(u)
                timesgo += 1
            elif temp == y:
                u = str(temp) + "," + str(y)
                On.append(u)
                timesgo += 1
            if temp > y:
                u = str(temp) + "," + str(y)
                Below.append(u)
                timesgo += 1

Я предполагаю иметь всего 4 координаты, в случае файла: (2,1), (3,3), (5,6), (7,8) должны быть добавлены в соответствующий списокчтобы затем быть отсортированы по дальнейшему коду.

1 Ответ

0 голосов
/ 07 июля 2019

Моя версия:

if res == "yes":
    with open('text.txt') as f:
        terms = f.readline()
        for _ in range(int(terms)):

            x = int(f.readline())
            y = int(f.readline())

            #u = (x, y)              # as tuple with numbers
            u = "{},{}".format(x, y) # as string

            if x < y:
                Above.append(u)
            elif x > y:
                Below.append(u)
            else
                On.append(u)

Ваша ошибка была

alist = [line.rstrip() for line in f]

, которая читала все строки из файла, и позже readline() было нечего читать.

Остальные изменения носят косметический характер.

...