count = 1
def Hanoi(n,A,B,C):
global count
if n < 1:
print("invalid input")
elif n == 1:
print("%d:\t%s--->%s"%(count,A,C))
count = count + 1
else:
Hanoi(n-1,A,B,C)
Hanoi(1,A ,C,B)
Hanoi(n-1,B,C,A)
def main():
global count
n_str = input("请输入柱子上有几个圆盘:")
n = int(n_str)
count = Hanoi(n,1,2,3)
print(count)
if(name=="main"):
main()
count+1表示统计进入else n==1这个条件的次数
你这个写错了吧?从n==1看出A是原塔,C是目标塔,那么三个递归就不正确