TI/Skrypty z zajęć/hanoi

Z Brain-wiki
# -*- coding: utf-8 -*-
"""
Created on Wed Apr 22 10:19:10 2020

@author: Tomek
"""
"""
Opis zagadnienia dostępny jest w załączonym nagraniu ze spotkania.
Należy napisać funkcję o nazwie "hanoi", która jako parametry przyjmuje:
n - liczbę dysków do przeniesienia,
z - nazwę wieży z której przenosimy,
przez - nazwę wieży pośredniczącej,
do - nazwę wieży docelowej.
Funkcja ma wypisywać kolejność ruchów prowadzących do przeniesienia "n" dysków z wieży "z" do wieży "do".
Przykład: hanoi(2, 'A' , 'B' , 'C' ) powinno wyświetlić:
"Przenieś dysk z A do B
Przenieś dysk z A do C
Przenieś dysk z B do C"
"""

def hanoi(n, z, przez, do):
    """Przenieś (n-1) dysków z A do B przez C
        Przenieś dysk z A do C
        Przenieś (n-1) dysków z B do C przez A """
    if n>0:
        hanoi(n-1, z, do, przez)
        print('Przednies dysk z', z, 'do', do)
        hanoi(n-1, przez, z, do)

    
hanoi(7,'A','B','C')