2017-08-15 5 views
0

Ich arbeite an einem endgültigen Projekt für Python für meine Einführung in Python-Klasse. Ich habe Code für jeden der Buchstaben im Alphabet geschrieben, meine Idee ist es, dass der Benutzer einige Wörter eingibt und den Code für alle eingegebenen Buchstaben zurückgibt. Ich habe versucht, a = Code für Schildkröte, aber das funktioniert nicht. Irgendwelche Ideen?Verwenden von Turtle zum Zeichnen von Eingaben in Python

Antwort

0
x = input() 
codes = {'a': 'code for turtle',.....} 

print(codes[str(x)]) 

Würde ein Wörterbuch mit einer Eingabe() funktionieren?

+1

Hmm vielleicht lassen Sie uns geben ihm einen Schuss – physicslifter

+1

Kühle Bohnen! Lass mich wissen wie es geht! – GerryMcBride

+0

Okay, das erzeugt einen Fehler, weil es die Turtle liest und einen Syntaxfehler erzeugt. Das Setzen von Import-Turtle an der Spitze hilft dieses Problem nicht. – physicslifter

0

Lassen Sie uns @ GerardAnthonyMcBride Dictionary-basierte Ansatz erweitern (und korrigieren). Hier ist ein allzu vereinfachtes Beispiel, das gerade die 'S' Buchstaben druckt und 'O':

from turtle import Turtle, Screen 

SIZE = 100 

def draw_O(turtle): 
    turtle.pendown() 
    for _ in range(4): 
     turtle.forward(SIZE) 
     turtle.left(90) 
    turtle.penup() 

def draw_S(turtle): 
    position = turtle.position() 
    turtle.pendown() 

    turtle.forward(SIZE) 
    turtle.left(90) 
    turtle.forward(SIZE/2) 
    turtle.left(90) 
    turtle.forward(SIZE) 
    turtle.right(90) 
    turtle.forward(SIZE/2) 
    turtle.right(90) 
    turtle.forward(SIZE) 

    # leave turtle as we found it 
    turtle.penup() 
    turtle.setposition(position) 

characters = { 
    'O': draw_O, 
    'S': draw_S, 
    } 

screen = Screen() 
yertle = Turtle() 

string = input() 

for character in string: 
    if character in characters: 
     characters[character](yertle) 
    yertle.forward(SIZE * 1.25) 

screen.exitonclick() 

OUTPUT

enter image description here

Verwandte Themen