Python

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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值