Wie ein Python-Programm zu schreiben, das die Eingabe lesen und wandelt es definiert pre 14-Segmente Zeichen mit Turtle-Grafik?

StackOverflow https://stackoverflow.com/questions/4137040

  •  30-09-2019
  •  | 
  •  

Frage

Ich habe die Schildkröte Grafikfunktionen geschrieben, die die vierzehn Segmente und die Funktionen definieren, die diese Segmente zu bilden Zeichen zusammenstellen, z.

def MethodA (width) :
   top_stroke(width)    
   middle_stroke(width) 
   left_stroke 
   right_stroke(width)

Ich habe alle Definitionen bereit, aber wie lasse ich Python einen Eingang zu lesen und die Zeichen der Eingabe in die vierzehn Segmenten Formen umwandeln, die ich vorher definiert?

Idealy, wenn ich „Pizza“ eingeben, das Programm sollte den Ausgang der ‚PIZZA‘ Zeichen erzeugt in den vierzehn Segmente bilden.

Alle Vorschläge sind willkommen und geschätzt. Danke,

War es hilfreich?

Lösung

Sie können ein Wörterbuch mit Funktionsreferenzen wie folgt definieren:

Characters = {
    'A': MethodA,
    'B': MethodB,
    # ...
}

Dann wird für einen String s:

s = "Pizza"
for c in s:
    c = c.upper() # to fold lowercase into upper case
    if c in Characters:
        Characters[c](width)

Dieser Code funktioniert Characters[c] mit der Funktion Referenz im Wörterbuch nachzuschlagen, dann ist die (width) bewirkt, dass die Funktion aufgerufen werden (mit einem width Parameter, wie die Funktion erwartet).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top