Wie ein Python-Programm zu schreiben, das die Eingabe lesen und wandelt es definiert pre 14-Segmente Zeichen mit Turtle-Grafik?
-
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,
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).