一、自定义函数
1、定义函数
#1!+2!+3!+....+10!
def fun1(x):
ans=1
for i in range(1,x+1):
ans*=i
return ans#return ans
ans=0
for i in range(1,11):
ans+=fun1(i)
print(ans)
2、形参与实参
3、传参机制
二、Math库
最大公约数:math.gcb(*integers)
向上取整
向下取整int()
四舍五入round()
三、迭代器
1、无限迭代器
2、有限迭代器
3、排列组合迭代器
#笛卡尔
from itertools import product
ans=list(product([1,2,3],[4,5,6]))
print(ans)
#排列
from itertools import permutations
a=list(permutations([1,2,3,4]))
for x in a:
print(x)
print('-'*10)
b=list(permutations([1,2,3,4],2))
for x in b:
print(x)
print('-'*10)
#组合
from itertools import combinations
c=list(combinations([1,2,3,4],2))
for x in c:
print(x)
四、collection
五、堆
import heapq
#构建堆
a=[11,6,9,8,7,3]
heapq.heapify(a)
print('a=',a)
# #删除最小元素
# del_item=heapq.heappop(a)
# print('弹出元素:',del_item)
# print('List:',a)
#添加元素
heapq.heappush(a,4)
print('a=',a)
heapq.heappush(a,12)
print('a=',a)
while len(a):
print(heapq.heappop(a),end=" ")
若要是大根堆,在其前添加负号
import heapq
#构建堆
a=[-11,-6,-9,-8,-7,-3]
heapq.heapify(a)
print('a=',a)
# #删除最小元素
# del_item=heapq.heappop(a)
# print('弹出元素:',del_item)
# print('List:',a)
#添加元素
heapq.heappush(a,-4)
print('a=',a)
heapq.heappush(a,-12)
print('a=',a)
while len(a):
print(-heapq.heappop(a),end=" ")