L6-20220715
任何一门编程语言的核心操作都是操作内存中的数据,但内存中的数据又是通过编程语言的API来实现,所谓的APIApplication Programming Interface应用编程接口,就是系统提供给我们的函数,有一种函数是系统预先定义的函数,也就是我们安装python就自带的函数,这种我们把它称为内置函数,也叫内嵌函数——已经封装好了
目录
求三组连续自然数的和:求出1到10、20到30和35到45的三个和
100个和尚吃100个馒头,大和尚一人吃3个馒头,小和尚三人吃1个馒头。请问大小和尚各多少人?
指定一个列表,列表里含有唯一一个只出现过一次的数字。写程序找出这个“独一无二”的数字
http://docs.python.org/3/library/functions.html
1内置函数简介
2数据运算
abs()
round(数字,保留位数)
pow(x, y)x的y次方
pow(x, y[, z]) x的y次方再对z求余数
divmod(x,y)
>>>返回
(商,余数)=(x//y , x%y)
max()
min()
sum()
eval()
eval(expression[, globals[, locals]])
补课:递归函数
练习
普通循环
def jiecheng(n):# n自变量
result=1
for i in range(1,n+1):#开区间所以n+1
result*=i
return result
print(jiecheng(5))
改为递归
#两个条件 自己用自己 有明确决定条件(if。。return...)
def digui(n):
if n==1:
return 1
else:
return n*digui(n-1)
print(digui(5))
3类型转换
int()
float()
str()
ord()
chr()
bool()
bin()
hex()
oct()
list()
tuple()
dict()
bytes()
4序列操作
all()
all() 函数用于判断给定的可迭代参数 iterable 中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False元素除了是 0、空、FALSE 外都算 TRUE
*空元组、空列表返回值为True,这里要特别注意
any()
any() 函数用于判断给定的可迭代参数 iterable 是否全部为 False,则返回 False,如果有一个为 True,则返回 True
类似or 的判断TF方法
sorted()
sort在原列表排序 只能作用于列表
sorted 生成新列表 都可以作用
sorted(iterable[, cmp[, key[, reverse]]])
sorted(list,reverse=True)降序排列
reverse()
list.reverse()
range()
range(start, stop[, step])
zip()
zip([iterable, ...])
函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表
enumerate()
函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中
enumerate(sequence, [start=0])
5Set集合
这些运算只能用于dict和set?
add()添加一个元素
>>> set1 = {'1','2'}
>>> set1.add('3')
>>> set1
{'2', '1', '3'}
>>>
clear()
>>> set1
{'2', '1', '3'}
>>>
>>> set1.clear()
>>> set1
set()
>>>
difference()
difference() 两个集合的差集,a中存在,b中不存在
>>> a = {32,12,34}
>>> b = {12,43,23}
>>> a.difference(b)
{32, 34}
>>> a – b
{32, 34}
intersection()两个集合的交集,a中存在,b中也存在的
>>> a = {32,12,34}
>>> b = {12,43,23}
>>> a.intersection(b)
{12}
>>> a & b
{12}
union()并集 包含a中的元素,也包含b中的元素
>>> a = {32, 12, 34}
>>> b = {12, 43, 23}
>>> a.union(b)
{32, 34, 23, 43, 12}
>>> a | b
{32, 34, 23, 43, 12}
pop()集合pop随机移除某个元素并且获取那个参数,集合pop没有参数
>>> a = {32,12,34}
>>> a.pop()
32
>>> a
{34, 12}
>>>
discard()移除指定元素
>>> a = {32,12,34}
>>> a.discard(12)
>>> a
{32, 34}
>>>
update()更新集合
>>> a={1,2,3}
>>> b={4,5,6}
>>> a.update(b)
>>> a
{1, 2, 3, 4, 5, 6}
小结
数学运算
abs() 、 round() 、pow() 、divmod() 、max() 、min() sum() 、eval()
类型转换
int()、float()、str()、ord()、chr()、bool()、bin()、hex()、oct()、list()、tuple()、dict()、bytes()
序列操作
all()、any()、sorted()、reverse()、range()、zip()、enumerate()
集合
add()、clear()、difference()、intersection()、union()、pop()、discard()、update()
求三组连续自然数的和:求出1到10、20到30和35到45的三个和
def jiahe(m,n):
return sum(range(m,n+1))
pass
print(jiahe(1,10),jiahe(20,30),jiahe(35,45))
100个和尚吃100个馒头,大和尚一人吃3个馒头,小和尚三人吃1个馒头。请问大小和尚各多少人?
#100个和尚吃100个馒头,大和尚一人吃3个馒头,小和尚三人吃1个馒头。请问大小和尚各多少人? def popu(): for a in range(1,100): if a*3+(100-a)*(1/3)==100: return (a,100-a) pass pass r=popu() print("大和尚{}人 小和尚{}人".format(r[0],r[1]))#这里是返回第一个数 第二个数
指定一个列表,列表里含有唯一一个只出现过一次的数字。写程序找出这个“独一无二”的数字
#指定一个列表,列表里含有唯一一个只出现过一次的数字。写程序找出这个“独一无二”的数字
list1=[1,1,1,2,2,2,2,3,3,4,4,3,5]
#set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等
'''1 生成除重列表 2 原列表remove除重列表可得重复项列表
3用if 如果i不在重复项数字列表 那么它就是唯一值'''
set1=set(list1)#1 生成除重列表
print("set1{}".format(set1))#set1{1, 2, 3, 4, 5}
for i in set1:
list1.remove(i)
print("list1{}".format(list1))#2 原列表remove除重列表可得重复项列表 list1[1, 1, 2, 2, 2, 3, 4, 3]
set2=set(list1)#得到重复项是哪些数字set2{1, 2, 3, 4}
print("set2{}".format(set2))
for a in set1:#如果i不在重复项数字列表 那么它就是唯一值
if a not in set2:
print(i)#得出 5
pass
pass
其他
https://docs.python.org/3/library/functions.html 内置函数
factorial意为阶乘
set是一个无序且不重复的元素集合 set和dict类似,是一组key的集合,但不存储value
Python format 格式化函数
>>>"{} {}".format("hello", "world") # 不设置指定位置,按默认顺序
'hello world'
>>> "{0} {1}".format("hello", "world") # 设置指定位置
'hello world'
>>> "{1} {0} {1}".format("hello", "world") # 设置指定位置
'world hello world'
#44 039递归函数没有懂