基本信息
文件名称:Python大学教程(第2版) 第4章练习题.docx
文件大小:20.18 KB
总页数:7 页
更新时间:2025-06-05
总字数:约4.44千字
文档摘要

选择题:

以下几段汉诺塔代码,哪段是正确的(a)

A.defhanoi(n,fromTower,auxTower,toTower):

???ifn==1:#递归边界条件,一步移动

???????print(Movedisk,n,from,fromTower,to,toTower)

???else:

???????hanoi(n-1,fromTower,toTower,auxTower)#第一步,递归调用

???????print(Movedisk,n,from,fromTower,to,toTower)#第二步

???????hanoi(n-1,auxTower,fromTower,toTower)#第三步,递归调用

defmain():

???n=int(input(Pleaseinputnumberofdisks:))

???print(ThesolutionoftowerofHanoiis:)

? ???hanoi(n,A,B,C)

main()

B.defhanoi(n,fromTower,auxTower,toTower):

???ifn==1:#递归边界条件,一步移动

???????print(Movedisk,n,from,fromTower,to,toTower)

???else:

???????hanoi(n-1,fromTower,toTower,auxTower)#第一步,递归调用

???????print(Movedisk,n,from,fromTower,to,toTower)#第二步

???????hanoi(n-1,auxTower,fromTower,toTower)#第三步,递归调用

defmain():

???n=int(input(Pleaseinputnumberofdisks:))

???print(ThesolutionoftowerofHanoiis:)

? ???hanoi(n,A,C,D)

main()

C.defhanoi(n,fromTower,auxTower,toTower):

???ifn==1:#递归边界条件,一步移动

???????print(Movedisk,n,from,fromTower,to,toTower)

???else:

???????hanoi(n-1,fromTower,toTower,auxTower)#第一步,递归调用

???????print(Movedisk,n,from,fromTower,to,toTower)#第二步

???????hanoi(n-1,auxTower,fromTower,toTower)#第三步,递归调用

defmain():

???n=int(input(Pleaseinputnumberofdisks:))

???print(ThesolutionoftowerofHanoiis:)

? ???main(n,A,B,C)

main()

D.defhanoi(n,fromTower,auxTower,toTower):

???ifn==1:#递归边界条件,一步移动

???????print(Movedisk,n,from,fromTower,to,toTower)

???else:

???????main(n-1,fromTower,toTower,auxTower)#第一步,递归调用

???????print(Movedisk,n,from,fromTower,to,toTower)#第二步

???????main(n-1,auxTower,fromTower,toTower)#第三步,递归调用

defmain():

???n=int(input(Pleaseinputnumberofdisks:))

???print(ThesolutionoftowerofHanoiis:)

? ???hanoi(n,A,