[Python] Lernnotiz 1

Hanoi Tower

py


def hanoinoto(hanoi, n):
    """Anzeige des Turms in Hanoi"""
    print('------', n)
    for stack in hanoi:
        print('#', ''.join(stack))

N = 3  #Anzahl der Festplatten

#Zustand der Platte an drei Positionen
hanoi = [list('4321')[-N:], [], []]
hanoinoto(hanoi, 0)  #Anzeige des Ausgangszustands

#Bewegen Sie alle Discs
for n in range(1, 2**N):
    i = (n & (n - 1)) % 3  #Quelle verschieben (Bitoperation)
    j = ((n | (n - 1)) + 1) % 3  #Ziel verschieben (Bitberechnung)
    c = hanoi[i].pop()  #Pop von Position i
    hanoi[j].append(c)  #An Position j anhängen(push)
    hanoinoto(hanoi, n)

*** Ausführungsergebnis ***

------ 0 # 321 # # ------ 1 # 32 # # 1 ------ 2 # 3 # 2 # 1 ------ 3 # 3 # 21 # ------ 4 # # 21 # 3 ------ 5 # 1 # 2 # 3 ------ 6 # 1 # # 32 ------ 7 # # # 321

Recommended Posts

[Python] Lernnotiz 1
Hinweis: Python
Python lernen
Python-Notiz
Python lernen note_002
Hinweis: Python-Dekorator
Python-Programmierhinweis
Python-Lernnotizen
Python-Lernausgabe
Python lernen note_004
Python-Lernseite
Python-Lerntag 4
Python Deep Learning
Python lernen note_003
Python-Lernen (Ergänzung)
Deep Learning × Python
[Hinweis] openCV + Python
Python-Anfängernotiz
Python-Lernnotizen
"Python Machine Learning Programming" - Zusammenfassung (Jupyter)
Python-Klasse (Python-Lernnotiz ⑦)
Python lernen mit ChemTHEATER 03
"Objektorientiert" mit Python gelernt
Python-Modul (Python-Lernnotiz ④)
[Anmerkung] zukünftige Aussage ~ Python ~
Erweitertes Lernen 1 Python-Installation
[Hinweis] Datei lesen ~ Python ~
Python lernen mit ChemTHEATER 05-1
Python: Deep Learning-Praxis
Python ~ Grammatikgeschwindigkeit lernen ~
Python: Unüberwachtes Lernen: Grundlagen
Private Python-Lernprozedur
Python lernen mit ChemTHEATER 02
Python lernen mit ChemTHEATER 01
Beachten Sie, dass Python ein Daemon ist
Hinweis: Python Skeleton Nya
Python: Deep Learning Tuning
Python + Unity Enhanced Learning (Lernen)
Python: Überwachtes Lernen (Rückkehr)
Python Tkinter Primer Hinweis
Python: Überwachtes Lernen (Klassifizierung)
[Hinweis] Python beim Starten von maschinellem Lernen / Deep Learning [Links]
Memo
Behandlung von Python-Ausnahmen (Python-Lernnotiz ⑥)
Mayungos Python-Lernhinweis: Liste der Geschichten und Links
O'Reilly python3 Primer Lernnotiz
Lernablauf für Python-Anfänger
Python
Python: Überwachtes Lernen: Hyperparameter Teil 1
Python-Lernplan für KI-Lernen
Verbessertes Lernen ab Python
Maschinelles Lernen mit Python! Vorbereitung
Python-Eingabehinweis in AtCoder
[Hinweis] Betreiben Sie MongoDB mit Python