jiezhi(易)的python知识库
鼠标按下事件pygame
获取所有事件列表
1 | pygame.event.get() |
获取事件类型
1 | event.type |
退出事件
1 | event.tupe==QUIT |
鼠标按下事件
1 | event.type==MOUSEBUTTONDOWN |
获取鼠标按键的键值
1 | event.button |
鼠标按键的键值为1表示鼠标左键按下
1 | event.button==1 |
鼠标移动事件
1 | event.type==MOUSEMOTION |
1 | event.pos[0] |
1 | event.pos[1] |
键盘按下事件
1 | event.type==KEYDOWN |
1 | event.type==KEYUP |
1 | event.key |
1 | event.key==K_SPACE |
1 | event==K_UP |
1 | event.key==K_DOWN |
1 | envent.key==K_LEFT |
1 | event.key==K_RIGHT |
1 | # |
状态
1 | handleEvent() |
1 | conEnter()#产生所有对象 |
1 | state='WIN' |
递归函数定义:
递归算法通常用自定义函数来实现,这个函数称为递归函数f(n)就是递归函数
函数基本结构:
包括递归出口和递归操作递归出口是指函数在什么情况下停止递归递归操作是指函数在递归过程中需要执行的操作按照先书写递归出口再书写递归操作的顺序编写代码
1 | i=0 |
设计递归函数的三要素
第一要素:明确函数要干什么
第二要素:寻找递归结束条件
第三要素:找出函数的等价关系式
题目描述
假设有五位同学,他们的编号分别为1、2、3、4、5。从1号同学开始到5号同学为止,每位同学拥有的金币数比相邻的下一位同学多1枚。已知5号同学有10枚金币,问1号同学有几枚
金币?
输入描述
无
输出描述
无
样例输入1
无
样例输出1
14
、
1 | #定义函数 |



1 | def f(n): |
查找(二分查找、插补查找、分块查找)
二分查找
:::info
中间值:mid=(min+max)//2
目标>中间值
min=mid+1
目标>中间值
max=mid-1
目标=中间值
:::
1 | #目标数字 |
插补查找
mid=left+(target-data[left])//(data[right]-data[left])*(right-left)
▪mid:分界(分区)索引 •target:目标数据
▪left:最左侧数据的索引 ▪date[left]:最左侧数据值
▪right:最右侧数据的索引 ▪data[right]:最右侧数据值
1 | data=[34,53,57,68,72,81,89,93,99] |
分块查找
1.分块
1 | data=[23,43,56,78,97,100,120,135,147,150,155] |
2.遍历分好的块
1 | #遍历分好的三块 |
3.查找
1 | #目标元素大于每块最大值,跳过本次循环(跳过当前块) |
4.完整代码
1 | data=[23,43,56,78,97,100,120,135,147,150,155] |
递归
递归函数定义:
递归算法通常用自定义函数来实现,这个函数称为递归函数f(n)就是递归函数
函数基本结构:
包括递归出口和递归操作递归出口是指函数在什么情况下停止递归递归操作是指函数在递归过程中需要执行的操作按照先书写递归出口再书写递归操作的顺序编写代码
切片
选取从开始到结束的部分,以步长为间隔选择
不包含本身
|
列表名[开始:结束:步长]
|
可省略,默认为1


1 | n=eval(input()) |
切片分割年月日
‘2025 12 20’
0123456789
年:int(date[:4])–>2025
月:int(date[5:7])–>12
日:int(date[7:])–>20

split()
1 | n = input().split(' ') |
map()

- Title: jiezhi(易)的python知识库
- Author: 易jiezhi 个人空间
- Created at : 2025-08-12 10:17:54
- Updated at : 2025-08-12 10:20:03
- Link: https://jiezhi.com/2025/08/12/jiezhi-易-的python知识库/
- License: This work is licensed under CC BY-NC-SA 4.0.