2016-03-28 21 views
2

if文で構文エラーが発生し続けています。なぜエラーが出るのかわかりません。誰も助けることができますか?ティンクでif/elif文で構文エラーが発生しました。何が原因でエラーが発生しているのかわかりません

def draw_square(self, loc, width): 

    loc = (x, y) 
    for i in range (3): 
     width(width) 
     turtle.forward(60) 
     turtle.right(90) 
     turtle.forward(random.randint(10,100)) 
     turtle.right(90) 
     turtle.forward(60) 
     turtle.right(90) 
     turtle.forward(random.randint(10, 100)) 

    if turtle.xcor <or> x: 
     x = turtle.xcor 
    elif turtle.ycor <or> y: 
     y = turtle.ycor 

    return self.loc, self.width 
+0

何ロジックテストあなたがやろうとしていますか? 'turtle.xcor < or > x'は有効な構文ではありません。しかし、それがより大きいか小さいか( 'turtle.xcor x:')であるかどうかを確認したいなら、 'elif'節が働く唯一の時間は' turtle.xcor == x' ...それでも、これが何をしているのかわからない – roganjosh

+1

代わりに '!='演算子を使う –

+0

最初に 'x'と' y'は何ですか?グローバル?もしそうなら、適切に更新されるように関数の先頭に 'global x、y'行が必要です。 – chepner

答えて

1

あなたの構文がで無効です。

if turtle.xcor <or> x: 
    x = turtle.xcor 
elif turtle.ycor <or> y: 
    y = turtle.ycor 

のためにそれを変更してみてください。

if turtle.xcor < x or turtle.xcor > x: 
    x = turtle.xcor 
elif turtle.ycor < y or turtle.ycor > y: 
    y = turtle.ycor 
+0

代わりに '!='演算子を使用してください:) –

+0

これは私のコメントとまったく同じです。しかし、それでも、目的の出力が何であるかに応じて、if/elifに問題が生じる可能性があります。 – roganjosh

+0

はい、私は答えを編集しました、時々私は質問/回答/コメントを送信し、悪いです、私は約3回それを編集する必要があります:) –

関連する問題