Advertisement
Guest User

Untitled

a guest
Nov 18th, 2019
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.15 KB | None | 0 0
  1. Anzahl_der_Pfade = 0
  2. def Gitterpfad(m, n):
  3. global Anzahl_der_Pfade
  4. if m < 0 or n < 0: #Zu Beginn wird überprüft, ob richtige Koordinaten eingegeben worden sind
  5. #und falls dies nicht der Fall ist, eine entsprechende Fehlermeldung zurück-
  6. #gegeben.
  7. Anzahl_der_Pfade = False
  8. print "Ungültige Eingabe. Die Koordinaten müssen beide größer oder gleich null sein."
  9. elif m + n == 0:
  10. Anzahl_der_Pfade = 0
  11. print "Der Pfad vom Ursprung zum Ursprung selbst hat die Länge 0 bzw. ist eigentlich kein 'echter' Pfad."
  12. elif m + n == 1:
  13. Anzahl_der_Pfade = Anzahl_der_Pfade + 1
  14. else: #Wenn nun aber die Parameter akzeptiert worden sind, wird zwischen drei Fällen unterschieden:
  15. if m > 0 and n > 0: #1.: Wenn der Gitterpfad sich noch nicht auf der x- bzw. y-Achse befindet,
  16. #kann dieser sowohl nach Süden als auch nach Westen fortgeführt werden.
  17. #Somit ruft sich die Funktion für die beiden unterschiedlichen Möglichkeiten
  18. #wieder selber auf.
  19. Gitterpfad(m - 1, n)
  20. Gitterpfad(m, n - 1)
  21. elif m > 1 and n == 0: #2.: Befindet sich der Pfad nun schon auf der y-Achse, d.h. n = 0, so
  22. #kann sich der Pfad nur noch Richtung Süden erweitern.
  23. #Somit ruft sich die Funktion selbst nur einmal auf.
  24. Gitterpfad(m - 1, n)
  25. elif m == 0 and n > 1: #3.: Dies funktioniert analog zu 2., nur dass hier m = 0 ist und
  26. #sich der Pfad somit nur noch Richtung Westen erweitern kann.
  27. Gitterpfad(m, n - 1)
  28. #Allgemein wird hier, wie in der Aufgabenstellung empfohlen, "rückwärts gedacht."
  29. #Statt vom Ursprung aus zu starten und nur nach Norden oder Osten zu gehen, starten wir
  30. #vom Punkt (m,n) aus und bewegen uns ausschließlich Richtung Süden und Westen gen Ursprung.
  31. m = 5
  32. n = 3
  33. Gitterpfad(m, n)
  34. print "Die Anzahl der verschiedenen Pfade vom Ursprung zu dem Punkt", Tupel_aus_m_und_n, "lautet:", Anzahl_der_Pfade
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement