Извинения, если это название было расплывчатым.Во-первых, я хотел бы сказать, что я прочитал все форумы, которые я могу найти в сообщении об ошибке значения в python, я их реализовал, но моя программа все еще не может пройти дальше строки 22. Внизу есть больше объяснений, но сначала яЯ дам тебе "DL", ха-ха.
Я пишу программу, которая читает файл data.txt и отображает вывод.Вот цель проекта
Ваш вывод должен выглядеть следующим образом: Чтение вершин для многоугольника с 5 вершинами ... Вершина 1 имеет координаты в (1.70, 4.90) Вершина 2 имеет координаты в (6.10, 6.20) Вершина 5 имеет координаты в (1.50, 1.40)
Чтение вершин для прямоугольника, имеющего (конечно) 4 вершины ... Вершина 1 имеет координаты в (7.00, 5.00)... Ваша программа должна только повторить проверку данных;во время этой лабораторной работы не требуется создавать объекты многоугольника, объекты прямоугольника, выполнять преобразования, отменять преобразования или находить и печатать периметр.
Ошибка в моей командной строке:
Reading vertices for polygon with 5 vertices...
Vertex 1 has coordinates at (1.7, 4)
Vertex 2 has coordinates at (.9, 6.1)
Vertex 3 has coordinates at (6.2, 7.0)
Vertex 4 has coordinates at (2.8, 4.8)
Vertex 5 has coordinates at (0.1, 1.)
Reading vertices for polygon with 1 vertices...
Traceback (most recent call last):
File "Read.py", line 22, in <module>
x, y = file.read(8).split( )
ValueError: too many values to unpack (expected 2)
Код, который я написал:
file = open("data.txt")
line = file.read(1).strip()
while line != 'Q':
numVertices = file.read(3).strip()
numVertices = int(numVertices)
if numVertices != 4:
print("Reading vertices for polygon with " +
str(numVertices) + " vertices...")
else:
print("Reading vertices for rectangle having " +
str(numVertices) + " vertices...")
for i in range(int(numVertices)):
x, y = file.read(8).split( )
print("Vertex " + str(i + 1) + " has coordinates at (" + x + ", " + y + ")")
line = file.read(1).strip()
file.close()
И файл data.txt содержит:
P 5
1.7 4.9
6.1 6.2
7.0 2.8
4.8 0.1
1.5 1.4
R 4
7.0 5.0
1.0 5.0
1.0 3.0
7.0 3.0
P 4
4.1 5.4
6.9 2.5
2.9 0.8
0.9 2.5
P 3
1.2 4.7
6.5 4.2
4.0 1.7
Q
В строке 22 я попытался добавить в.split (), я добавил (""), (",") ни один из которых не удалось.Я пытался изменить переменные с int на float, но потом я не могу объединить строку.Так что я в растерянности, кто-то может помочь мне выяснить, в чем здесь проблема?Большое вам спасибо!