2013-05-30 4 views
0

я написал простой код, который должен нарисовать квадрат, смотрите ниже:пытается рисовать, используя Черепаху

from turtle import Screen,Turtle 
    def draw(directions,length,angle,x=0,y=0): 
     s = Screen 
     t = Turtle 
     t.up() 
     t.setpos(x,y) 
     t.down() 
     # iterate over directions 
     for move in directions: 
      if move =='F': 
       t.forward(length) 
      elif move == 'L': 
       t.lt(angle) 
      elif move =='R': 
       t.rt(angle) 
      else: 
       pass 

s.exitonclick() 

, но я получаю сообщение об ошибке, что я не понимаю. См. Ниже

 >>> draw('FLFLFLFL',50,90) 
    Traceback (most recent call last): 
    File "<pyshell#43>", line 1, in <module> 
     draw('FLFLFLFL',50,90) 
     File "C:/Documents and Settings/RonnieE/Mina dokument/GradSchool/CSC401/Homework 
     7/test1.py", line 11, in draw 
      t.up() 
    TypeError: penup() missing 1 required positional argument: 'self' 

Что я сделал не так?

ответ

0

Это:

s = Screen 
    t = Turtle 

должно быть:

s = Screen() 
    t = Turtle() 

В противном случае s и t только новые имена для Screen и Turtle классов. Вызвать класс для создания экземпляра .

Кроме того, s.exitonclick() должно быть внутри определения draw (выровнено с for).

Смежные вопросы