| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
零基础入门学习Python——汉罗塔程序如下: 
 
def hanoi(n, x, y, z): 
    if n == 1: 
        #print(x, '——>', z,'%d:' %n) 
 
        #print('%dx, %s——>%s' %n %x  %z)  #无法实现 
         
        print("%d:" %n,end='') 
        print(x, '——>', z) 
    else: 
        hanoi(n-1, x, z, y) #将n-1个盘子由x移动到y上 
        print("%d:" %n,end='') 
        print(x, '——>', z) 
        hanoi(n-1, y, x, z) #将y上的n-1个盘子移动到z上 
 
 
n=int(input('请输入汉诺塔的层数:')) 
hanoi(n, 'X', 'Y', 'Z') 
 
 
能否用一个print实现 
 print("%d:" %n,end='') 
        print(x, '——>', z) 
这两个print的功能? 
其结果显示为: 
1:X ——> Z 
2:X ——> Y 
1:Z ——> Y 
3:X ——> Z 
1:Y ——> X 
2:Y ——> Z 
 
即将其源程序的运行结果每一步前面加上数字,表示需要移动的是哪一层塔? 
 
 |   
- 
问题 
 
 
 
 
 
 
 
 |