python---递归

递归

 函数在自身调用自身

 需要终止函数否则会进入死循环

优点 复杂问题简单化;

缺点

栈内用占用量大(通过不断拷贝栈内存进行函数调用,且栈内存有限,易引起栈内存溢出错误,栈内存崩溃弹出stack Overflow Error)。

理解递归内存调用分析图

def get_recoursion_count(n):
   
if n==1:
       
return 1
   
return n+get_recoursion_count(n-1)

print(get_recoursion_count(100))

课堂练习:

青蛙跳级

def get_ladder_count(n):

if n ==1  or n==2:

        return n

 return  (get_ladder_count(n-1)+(n-2))

斐波那契

不死兔子

  1. 汉诺塔游戏
  2. Python字符串对象是一种基本数据类型,既然是对象,就存在对象的方法和属性。

    

len(s)  获取长度

注意:在py字符串中是基本数据类型,因此可以正常通过==进行判断。

dir(s)

help( )

字符串对象的方法

    不改变s本身

Eg:

  

 

         

字符串转字节 encode;字节转字符串decode。   

计算机底层存储的都是字节数据,

将字符串转换为字节数据使用方法有两种:

1 在字符串前面家b,但只支持ASCLL表中的符号;

b’abc’

b’a’

b’符号’  #error

2 使用encode方法,注意转换时编码的问题

“符号”.encode()            #默认编码是utf-8

“符号”.encode(‘utf-8’)  

“符号”.encode(‘gbk)

切片

     Python提供给开发者用来切割和获取有序序列的一种方案。

     切片是从下标衍生的一种技术。允许下标越界,前闭后开。

Seq[sum]    #从脚标获取元素

Seq[sum:]     #从num位置开始被截取数据

Seq[strand:end]    #从start位置开始截取数据,到end结束

Seq[strand:end:step] #step表示步长

默认从右向左切片  

切片存在正负索引且与切片的切割顺序无关,顺序由第三个值有关如;(arr[: :1])

作业题

找出列表中的最大值最小值和平均值

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值