Seite 1 von 1
Hanoi
Verfasst: Montag 11. November 2013, 15:37
von mo---
Ich habe das Hanoi-Programm schon soweit, dass es mir die Schritte ausgibt und es zeigt mir auch an von wo nach wo die Scheibe getragen werden. Ich würde gerne es soweit bekommen dass es mir zum Schluss ausgibt, welche/r Mönch/Person wie
oft eine Scheibe getragen hat. Könnt ihr mir da bitte weiterhelfen?
Code: Alles auswählen
i=0
def trage (Scheibe,von,nach):
global i
i+=1
print "Schritte",i,":""Trage Scheibe",Scheibe,"von",von,"nach",nach
def Bewegung(Anzahl,von,nach,via):
if Anzahl==0:
return 0
Bewegung(Anzahl-1,via,nach)
trage(Anzahl,von,nach,)
Bewegung(Anzahl-1,via,nach,von)
def main():
Bewegung(4,"A","C","B")
if __name__ == '__main__':
main()
Re: Hanoi
Verfasst: Montag 11. November 2013, 15:57
von EyDu
Nachdem du alle deine Beiträge in
aaaa und
bbbb gelöscht hast, sehen deine Chancen auf Hilfe wohl eher schlecht aus.
Re: Hanoi
Verfasst: Montag 11. November 2013, 16:44
von lackschuh
mo--- hat geschrieben:Ich habe das Hanoi-Programm schon soweit, dass es mir die Schritte ausgibt und es zeigt mir auch an von wo nach wo die Scheibe getragen werden. Ich würde gerne es soweit bekommen dass es mir zum Schluss ausgibt, welche/r Mönch/Person wie
oft eine Scheibe getragen hat. Könnt ihr mir da bitte weiterhelfen?
Code: Alles auswählen
i=0
def trage (Scheibe,von,nach):
global i
i+=1
print "Schritte",i,":""Trage Scheibe",Scheibe,"von",von,"nach",nach
def Bewegung(Anzahl,von,nach,via):
if Anzahl==0:
return 0
Bewegung(Anzahl-1,via,nach)
trage(Anzahl,von,nach,)
Bewegung(Anzahl-1,via,nach,von)
def main():
Bewegung(4,"A","C","B")
if __name__ == '__main__':
main()
Meinst du die Anzahl der Schritte zählen?
Re: Hanoi
Verfasst: Montag 11. November 2013, 17:29
von BlackJack
@mo---: Die Anzahl der Schritte wird ja schon gezählt. Ist mit ``global`` nicht schön, da bräuchte man eigentlich schon objektorientierte Programmierung zu. (Wenn es eine halbwegs „pythonische” Lösung sein soll.)
Die Frage nach welcher Person stellt sich IMHO nicht, da dass ja *eine* Person macht. So kenne ich das jedenfalls. Ansonsten müsste man spezifizieren wie viele Personen beteiligt sind und wie die sich verhalten.
Edit: Getestet hast Du das offensichtlich nicht:
Code: Alles auswählen
Traceback (most recent call last):
File "forum9.py", line 18, in <module>
main()
File "forum9.py", line 14, in main
Bewegung(4,"A","C","B")
File "forum9.py", line 10, in Bewegung
Bewegung(Anzahl-1,via,nach)
TypeError: Bewegung() takes exactly 4 arguments (3 given)