L6-函数运算与序列操作20220715

本文介绍了Python的内置函数,包括数据运算、类型转换、序列操作等,并提供了实例,如连续自然数求和、解决100个和尚吃100个馒头问题,以及寻找列表中唯一出现一次的数字。还探讨了集合操作,如添加、移除元素、并集、交集等。文章最后展示了递归函数的概念和应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

L6-20220715
任何一门编程语言的核心操作都是操作内存中的数据,但内存中的数据又是通过编程语言的API来实现,所谓的APIApplication Programming Interface应用编程接口,就是系统提供给我们的函数,有一种函数是系统预先定义的函数,也就是我们安装python就自带的函数,这种我们把它称为内置函数,也叫内嵌函数——已经封装好了

目录

1内置函数简介

2数据运算

3类型转换

4序列操作

小结

求三组连续自然数的和:求出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递归函数没有懂
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值