Die unnötige und verworrene Geschichte
Ich gehe Block für Block durch Manhattan und meine Füße sind müde geworden und wollen nach Hause zurück.
Der Verkehr ist ziemlich schlecht, aber zum Glück bin ich sehr reich und ich habe einen Hubschrauber im Hotel in Bereitschaft. Aber sie müssen wissen, wie viel Treibstoff sie für den Flug einpacken müssen, und dafür müssen sie meine direkte Entfernung zum Hotel kennen. Ich habe mich daran erinnert, welche Blöcke ich gegangen bin und kann ihnen sagen, welchen Weg ich genommen habe. Dieser Abstand muss jedoch präzise sein. Wenn sie zu kurz sind, schaffen wir es nicht, zu lange zurückzukehren, und ich habe Kraftstoff gekauft, den ich nicht verwenden kann.
Können Sie mir ein Programm schreiben, um das in die Entfernung umzuwandeln, die sie auf ihrem Flug zurücklegen müssen, um mich abzuholen?
Spezifikation:
Schreiben Sie mir eine Funktion, die:
- Akzeptiert eine Liste oder eine Folge von Blöcken, die relativ zu einem beliebigen Raster ablaufen:
- U p, D own, L eft und R ight.
- Kann entweder Groß- oder Kleinschreibung sein - z. Wenn es kürzer zu benutzen ist,
uanstattUweiterzumachen. - Eine ungültige Richtung hat undefiniertes Verhalten - z. Eine Richtung von X kann einen Fehler verursachen.
- Gibt ein Gleitkomma / Dezimal / Doppel zurück, das dem doppelten Abstand der geraden Linie vom Ursprungspunkt entspricht.
Zur Veranschaulichung und Verdeutlichung:

Meine Reise hätte genauso einfach aufgezeichnet werden können wie "luluu..."oder ['l','u','l'...]aber sie muss als Auf, Ab, Links, Rechts aufgezeichnet werden.