Python :: Aufgabe #339 :: Lösung #2

3 Lösungen Lösungen öffentlich
#339

Figur zurück zum Ausgangspunkt

Anfänger - Python von JKooP - 02.04.2021 um 08:45 Uhr
Eine Figur bewegt sich auf einer 2D- Spielfläche (Koordinatensysteme). Dabei startet sie an der Position (0, 0).
Die Figur kann folgende Bewegungen im Einzelschritt durchführen: Right (R), Left (L), Up (U) und Down (D).
Anhand einer bestimmten Sequenz soll geprüft werden, ob sich die Figur am Ende wieder an der Ausgangsposition befindet.

Beispielsequenzen:
s = „UD“: Wahr
s = „LURD“: Wahr
s = „LLDD“: Falsch
s = „LLUUURDDRD“: Wahr
s = „LDRRLRUULR“: Falsch

Schreibe eine Methode/Funktion, die obige Aufgabenstellung realisieren kann.

Viel Spaß
#2
vote_ok
von eisheiliger (3750 Punkte) - 05.04.2021 um 17:25 Uhr
Quellcode ausblenden Python-Code

"""
#339: Figur zurück zum Ausgangspunkt
Eine Figur bewegt sich auf einer 2D- Spielfläche (Koordinatensysteme). Dabei startet sie an der
Position (0, 0). Anhand einer bestimmten Sequenz soll geprüft werden, ob sich die Figur am Ende
wieder an der Ausgangsposition befindet.
"""


def prf_ausgang(steuerung):
    richtung = [["L", 1, 0], ["R", -1, 0], ["U", 0, 1], ["D", 0, -1]]
    ausgang = [0, 0]

    for alle in steuerung:
        for i in range(0, len(richtung)):
            if alle == richtung[i][0]:
                ausgang[0] += richtung[i][1]
                ausgang[1] += richtung[i][2]
    if ausgang == [0, 0]:
        print(steuerung, "Zurueck zum Ausgang")
    else:
        print(steuerung, "Nicht im Ausgang")


def main():
    prf_ausgang(["U", "D"])
    prf_ausgang(["L", "U", "R", "D"])
    prf_ausgang(["L", "L", "D", "D"])
    prf_ausgang(["L", "L", "U", "U", "U", "R", "D", "D", "R", "D"])
    prf_ausgang(["L", "D", "R", "R", "L", "R", "U", "U", "L", "R"])


if __name__ == '__main__':
    main()


Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben
1991804

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.