2016-03-22 11 views
-1

すべて 私はpythonの新鮮なユーザーです。私はまだ学習プロセスに入っています。私は質問をしたいと思います。質問例がありますが、私は他のそれを行う方法。私は多くのことを試みたが、うまくいかなかった。 ここに質問があります。男はターンをして、少し前進してこれを繰り返す。リスト= [(160,10)、(-49,6)、(270,12)、(-45、 22)]。タートルを使用して、人が取った道を描きます。 まず、コードを表示して実行してうまく動作させてください。そのコードに指定されたペアリストを使用してカメを描く

import turtle 

wn=turtle.Screen() 

wn.bgcolor("lightgreen") 

wn.title("theman") 

man=turtle.Turtle() 

klm=[(160,10), (-49, 6), (270, 12), (-45,22)] 

def walking_drunk_man(): 

    for i in range(4): 
     (x,y)=klm[i] 

     man.color("yellow","red") 
     man.forward(y) 
     man.left(x) 

、想定:与えられたリストを使用して、Lはリストの長さがわからない場合はどのようにLがカメを描くことができ(Lはリストの長さを知っていたように、L(4)の範囲を使用します)。

事前にお問い合わせいただきありがとうございます。

答えて

-2

これはどうですか?

import turtle 

wn=turtle.Screen() 

wn.bgcolor("lightgreen") 

wn.title("theman") 

man=turtle.Turtle() 

klm=[(160,10), (-49, 6), (270, 12), (-45,22)] 

def walking_drunk_man(): 

    for x, y in klm: 

     man.color("yellow","red") 
     man.forward(y) 
     man.left(x) 

これは、タプルアンパックと呼ばれる言語機能を使用します。

+0

"これは開梱タプルと呼ばれる言語機能を使用しています"。はい、そうです - 同じ行のOPで使われている同じ機能: '(x、y)= klm [i]' – SiHa

+0

すべての回答に感謝します。 – owrasa

0

klmを別々に解凍する必要なく、またはlen(klm)を使用して最初にリストの長さを取得する必要はありません。

・ホープこのことができます:

for x, y in klm: 
    man.color("yellow","red") 
    man.forward(y) 
    man.left(x) 
関連する問題