0

我遇到的问题涉及从文件中读取,并使用 python 的海龟根据读取的内容绘制形状。

文本文件如下所示(但两行之间没有空格):

r 0.0 200.0 50.0 100.0 蓝色

c 0.0 200.0 40.0 红色

p 0.0 200.0 3 40.0 黑色

问题是从文件中的一行到 r = Rectangle(0.0,200.0,50.0,100.0,"blue")

如果该行以“r”开头,请使用我的 Rectangle 方法,如果它以“c”开头,请使用我的 Circle 方法(或“p”使用 Polygon())

我有所有的形状方法我只是不知道如何从文件中获取它来说在这些坐标处用这些边长和这种颜色绘制一个矩形(或圆形/多边形)。这是我到目前为止所拥有的,但它似乎太复杂并且变得混乱。任何帮助或想法表示赞赏,谢谢。

shapeCollection=[]
with open(name,"r") as f:
    for line in f:
        for i in line.split():
            shapeCollection.append(i)
print(shapeCollection)
for each in shapeCollection:
    if each == "r":
        #(xCor) = each+1
    elif each == "c":
        #
    elif each == "p":
        #
4

1 回答 1

0

做这样的事情

for line in f:
 inp = line.split()
 x = float(inp[1])
 y = float(inp[2])

 if(inp[0] == 'r'):
  DrawRectangle(x,y,float(inp[3]),float(inp[4]),inp[5])

这基本上显示了如何解析输入。它非常简单,您会看到它是如何轻松应用于其他两种情况的。

于 2012-09-12T17:23:58.590 回答