python-函数
*总结
1.递归函数
汉诺塔的移动(用递归来解)
这道题的另一种问法
分析:递归的方法,可以将盘分为上n-1个,和第n个,那么问题就简化成上面n-1个需要移动到另一个柱子,第n个盘子直接移动到C即可,同理下一步就是n-2个移动到另一个柱子,第n-1个移动到C,直到A和B一个圆盘都没有为止。
可以把除底盘之外的其他盘子看做一个整体,这样实际每次就移动了两个盘子,一个是(n-1)合集,一个是底盘
def move(n,a,b,c)
if n==1:
print(a,'-->',c)
else:
move(n-1,a,c,b)#(n-1)个盘子移动到b上
move(1,a,b,c)#将a上的一个底盘移动到c上
move(n-1,b,a,c)#继续将n-1个盘子移动到c上
>>>move(3,'A','B','C')
2.迭代
使用迭代查找一个list中最小和最大值,并返回一个tuple
def findMinAndMax(L):
if len(L) == 0:
return (None,None)
min = L[0]
max = L[0]
for n in L:
if n < min:
min = n
if n > max:
max = n
return(min,max)