2013-04-08 178 views
-2

所以我做了两个类,一个做矩形,一个做星形,既是Rectangle()又是Star(),因为这里的类有特定数量的参数。我的问题是,我有另一个名为Flag()的类,它接受一个文本文件,其中包含每个类的特定参数,矩形有5个特定参数,星号有4个。我需要Flag类来读取文本文件并通读理解每一行都是矩形或星形,然后绘制它。我如何在班级中调用不同的班级?

class Flag(object): 
    def __init__(self, f_obj): 
     self.f_obj = f_obj 
     for line in self.f_obj: 
      line.strip() 
      if 5 == len(line): 
       R = Rectangle(line) 
       print(R) 
      elif 4 == len(line): 
       S = Star(line) 
       print(S) 

    def draw(self,turtle): 
     R.draw(turtle) 
     S.draw(turtle) 
+0

........'from import Flag'?你在问什么? – Colleen 2013-04-08 21:49:31

+0

你可能想调用像line.split() – dan 2013-04-08 21:51:13

+0

我打开一个文件'file_obj'然后我在我的main()中使用该文件,并使用该标志类来绘制file_obj – Tyler 2013-04-08 21:59:51

回答

0

你问关于文件阅读吗? 试试这个:

parts = line.strip().split() 
if len(parts) == 4: 
    # Star 
if len(parts) == 5: 
    # Rectangle