Python---入门(函数+组合数据类型)(2)

函数

*注意换行

def fact(n):
    s=1
    for i in range(1,n+1):
        s*=i
    return s

a = fact(10)
print(a)

//结果: 3628800
1. 函数参数: 可以缺省
全局变量和局部变量

在这里插入图片描述

课后练习

在这里插入图片描述

from turtle import *
fillcolor("red")
begin_fill()
while True:
    forward(200)
    right(144)
    if abs(pos())<1:
        break
end_fill()

print函数的用法
槽格式和format方法,把字符串和变量组合到一起
在这里插入图片描述

2.Math函数库

1.math.ceil() 表示向上取整,比如 math.ceil(10.2) == 11

2.math.floor() 表示向下取整, 比如 math.floor(10.2)==10

在这里插入图片描述

3.对于浮点数的加减法需要用 math.fsum() ,这样不会把小数加错, math.fsum(0.01+0.02)=0.03

3.函数调用过程

在这里插入图片描述

4.lambda函数

匿名函数,没有名字
在这里插入图片描述

5.实例:七段数码管

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.代码复用与函数递归

-代码资源化:程序代码是一种用来表达计算的"资源"
-代码抽象化:使用函数等方法对代码赋予更高级别的定义
-代码复用:同一份代码在需要时可以被重复使用

函数与对象是对代码复用的抽象

递归
在这里插入图片描述

例1

在这里插入图片描述

例2:汉诺塔问题

在这里插入图片描述

7.内置函数

在这里插入图片描述
在这里插入图片描述

组合数据类型

在这里插入图片描述

1.集合

在这里插入图片描述

  • 集合用大括号表示,元素间用逗号分隔
    *集合中每个元素唯一,不存在相同元素
    *集合元素之间无序
    在这里插入图片描述
    集合处理方法
    在这里插入图片描述s.clear() 清除元素

在这里插入图片描述
如果犯错可以用try-catch来解决

在这里插入图片描述

序列类型(基础)

是一组有先后关系的一组元素
序号下标引导

衍生: 字符串、元组、列表
包含正向递增序号,和反向递减序号

切片
在这里插入图片描述求长度
len(s)

求最大字母序
max(x)
在这里插入图片描述

元组类型

小括号,或者tuple() 创建

列表是可以修改的数据结构,而元组是固定长度,不能被修改元素值的数据结构。

元组是使用圆括号()表示,而列表是使用方括号[]。请注意两者的区别。

tup_tuple = ((1, 2, 3, 4),(‘Python’,‘Java’))

tup_tuple = ((1, 2, 3, 4),('Python','Java'))
print('使用tuple函数创建元组:',tup_tuple)

tup2_tuple = tuple('Python');
print(tup2_tuple)

运行结果:

使用tuple函数创建元组: ((1, 2, 3, 4), (‘Python’, ‘Java’))
(‘P’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’)

我们还可以通过加号(+)把多个元组拼接在一起,形成更长的元组;

也可以使用乘号(*)复制多份同样的元组。

列表

可以修改
可以增加和减少元素

用方括号【】 和 list() 创建,元素之间用逗号,分隔

列表中各元素类型可以不同,无长度限制。
ls =【“cat”, "dhjkf ", 735】

lt=ls

上面指向同一个列表。(指针)

list() 才真正创建一个新的列表

其他都是指针指向,没有新的东西出现

ls[i] =x 替换 ls第i 元素 换为 x
ls[i: j: k] = lt 用列表lt替换ls切片后的元素子列表
del ls[i]
del ls[i: j: k] 从i 开始(包括i)以k为步长, i-j ,删除元素
ls+=lt 更新列表ls , 将lt 的元素 增加到列表ls中。
ls*=n 更新列表ls , 其元素重复n 次。

ls=["hsjkf","good",197238]
del ls[1]
print(ls)

ls=["hsjkf","good",197238,32,24,11,2,44]
del ls[0:4:2]
print(ls)

在这里插入图片描述

操作:

ls[1:2] 切片, 填写。
在这里插入图片描述

del ls[::3] 删除以3为步长的元素

例子:
直接改列表本身

ls = ["st","jg","ghjf"]
ls[1:2] = [1,2 , 3, 4]
print(ls)
//['st', 1, 2, 3, 4, 'ghjf']
del  ls[::3]
//[1, 2, 4, 'ghjf']

ls*2
//[1, 2, 4, 'ghjf', 1, 2, 4, 'ghjf']

ls.append(x) //在列表最后增加一个元素x
ls.clear() //删除列表ls中所有的元素
ls.copy() //生成一个新列表,赋值ls中所有元素
ls.insert(i,x) //在列表ls的第i位置增加元素x
ls.pop(i) // 将列表ls中第i 位置元素取出并删除该元素
ls.remove(x) // 将列表ls中出现的第一个元素x删除
ls.reverse() //表示将列表反转。

12条操作
  1. 定义空列表lt lt =[]
  2. 向lt新增5个元素 lt +=[1,2,3,4,5]
  3. 修改lt 第2 个位置元素 lt[2]=6
  4. 向Lt中第2个元素增加一个元素 lt.insert(2,7)
  5. 删除第1-3的数字 del lt[1:4]
  6. 判断是否包含数字x x in lt
  7. 向lt新增数字0 lt.append(0)
  8. 返回数字0所在Lt中的索引 lt.index(0)
  9. lt的长度 len(lt)
    10.lt中最大元素 max(lt)
    11.清空Lt lt.clear()
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值