2016-03-22 7 views
-1

alle lm frischen Benutzer von Python und ich habe noch in Lernprozess gewesen.Ich möchte eine Frage stellen.Es gibt eine Beispielfrage und ich wollte aber ich möchte andere lernen Methoden, es zu tun. Ich versuchte viele Dinge, aber sie haben nicht geklappt. Hier ist die Frage "ein Mann macht eine Wendung, und macht dann einige Schritte vorwärts, und wiederholt dies.Hier ist Liste = [(160,10), (-49, 6), (270, 12), (-45, 22)] Benutze eine Schildkröte, um den Pfad des Mannes zu zeichnen. " Erstens, lassen Sie mich meinen Code zeigen und ich laue es und arbeite gut.Zeichnen einer Schildkröte mit Hilfe der angegebenen Paarliste

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) 

in diesem Code, wird angenommen. Gegeben durch Liste mit, wie kann ich eine Schildkröte ziehen, wenn l nicht Länge der Liste wissen (l verwendeten Bereich (4) als l die Länge der Liste wusste).

danke für irgendeine Klärung im Voraus.

Antwort

-2

Wie wäre es damit?

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) 

diese verwendet eine Sprache-Funktion Tupel auspacken genannt.

+0

"diese verwendet eine Sprache-Funktion Tupel auspacken genannt". Ja, tut es - die gleiche Funktion, die vom OP in derselben Zeile verwendet wird: '(x, y) = klm [i]' – SiHa

+0

danke für alle Antworten .l hat es versucht und es hat gut geklappt. – owrasa

0

Sie können direkt durch die klm iterieren, ohne sie separat entpacken zu müssen, oder len(klm) verwenden, um zuerst die Länge der Liste zu erhalten.

this helps:

for x, y in klm: 
    man.color("yellow","red") 
    man.forward(y) 
    man.left(x) 
Verwandte Themen