汉诺塔完全没办法看懂哦!
def hanoi(n,x,y,z):if n==1:
print(x,'-->',z)
else:
hanoi(n-1,x,z,y)
print(x,'-->',z)
hanoi(n-1,y,x,z)
n=int(input("请输入汉诺塔的层数:"))
hanoi(n,'x','y','z')
为什么调用中的函数参数不带引号? 已经定义好了,就不需要带参数了。一个是形参,一个是实参。。。 annqlm 发表于 2018-5-8 18:42
已经定义好了,就不需要带参数了。一个是形参,一个是实参。。。
还是不太明白,你的解答不到位。hanoi(n-1,x,z,y)应该是将参数传到def hanoi(n,x,y,z)中,hanoi(n-1,x,z,y)这里的x,y,z怎么不加引号,为什么好像将x,y,z作为变量传到def hanoi(n,x,y,z)中? annqlm 发表于 2018-5-8 18:42
已经定义好了,就不需要带参数了。一个是形参,一个是实参。。。
函数自己调用自己,变量也可以直接调用吗? maikeweisi 发表于 2018-5-8 19:27
还是不太明白,你的解答不到位。hanoi(n-1,x,z,y)应该是将参数传到def hanoi(n,x,y,z)中,hanoi(n-1,x,z ...
0.0
hanoi(n-1,x,z,y)应该是将参数传到def hanoi(n,x,y,z)中,hanoi(n-1,x,z,y)这里的x,y,z怎么不加引号
第一个 hanoi(),已经有了声明,直接传参就可以了。。。。 maikeweisi 发表于 2018-5-8 19:28
函数自己调用自己,变量也可以直接调用吗?
变量指的是什么呢? annqlm 发表于 2018-5-8 19:41
变量指的是什么呢?
你的解答我只能给0分,只能让我更迷茫。 annqlm 发表于 2018-5-8 19:41
变量指的是什么呢?
如果if==1的时候print(x,'-->',z),程序在这里不是已经结束了吗?怎么还可以运行else那部分? maikeweisi 发表于 2018-5-8 21:01
如果if==1的时候print(x,'-->',z),程序在这里不是已经结束了吗?怎么还可以运行else那部分?
我觉得,按理解,你说的没错。不知道你指的问题是什么呢? maikeweisi 发表于 2018-5-8 20:47
你的解答我只能给0分,只能让我更迷茫。
嗯嗯,你说的没错。希望有人可以解答你的疑问。 估计你也是刚刚学,我也学到这里,你可以反复的看下视频。多解释你会跟糊涂。一遍看不懂,就看两遍,两遍看不懂,就看一句,暂停一下。
页:
[1]