Python——内置函数、序列、集合(day06)

目录

一、内置函数

二、数学运算函数

三、类型转换函数

四、序列操作

五、集合

 六、练习

一、内置函数

 

二、数学运算函数

(1)abs 

(2)round

(3)pow

z是除以后得处余数

(4)divmod

(5)eval

# 取绝对值
# print(abs(-34))
# round  取近似值
# print(round(3.66,1))
# pow 求次方
# print(3**3)
# print(pow(3,3))
# max 求最大值
# print(max([23,123,4,5,2,1,786,234]))
# print(max(23,235))
# sum 使用
# print(sum(range(50),3))
# eval 执行表达式
a,b,c=1,2,3
print('动态执行的函数={}'.format(eval('a*b+c-30')))
def TestFun():
    print('我执行了吗?')
    pass
# eval('TestFun()') #可以调用函数执行
# 类型转换函数
# print(bin(10)) #转换二进制
# print(hex(23)) #十六进制
# 元组转换为列表
tup=(1,2,3,4)
# print(type(tup))
li=list(tup) #强制转换
# print(type(li))
li.append('强制转换成功')
# print(li)
tupList=tuple(li)
# print(type(tupList))

# 字典操作 dict()
# dic=dict(name='小明',age=18) #创建一个字典
# # print(type(dic))
# # # dict['name']='小明'
# # # dict['age']=18
# # print(dic)
# bytes转换
# print(bytes('我喜欢python',encoding='utf-8'))

三、类型转换函数

 (1)ord

(2)chr

(3)bin

(4)hex

(5)oct

(6)bytes

# 类型转换函数
# print(bin(10)) #转换二进制
# print(hex(23)) #十六进制
# 元组转换为列表
tup=(1,2,3,4)
# print(type(tup))
li=list(tup) #强制转换
# print(type(li))
li.append('强制转换成功')
# print(li)
tupList=tuple(li)
# print(type(tupList))

# 字典操作 dict()
# dic=dict(name='小明',age=18) #创建一个字典
# # print(type(dic))
# # # dict['name']='小明'
# # # dict['age']=18
# # print(dic)
# bytes转换
# print(bytes('我喜欢python',encoding='utf-8'))

四、序列操作

 (1)all

 (2)any

 (3)sorted

 (4)zip

 (5)enumerate

# 序列操作 str 元组、 list
# all() # 序列操作 str 元组、 list
# # all()  result:bool 对象中的元素除了是 0、空、FALSE 外都算 TRUE, 所有的元素都为True
# # 结果就为True
#
# # print(all([])) #True
# # print(all(())) #True
# # print(all([1,2,4,False]))
# # print(all([1,2,4]))
# # print(all((3,4,0)))
# # any  result:bool 类似于逻辑运算符 or的判断,只要有一个元素为True 结果就为True
# # print('--------any-------------')
# # print(any(('',False,0)))
# # print(any((1,2,3)))
# # sort 和sorted
# li=[2,45,1,67,23,10] #原始对象
# # li.sort() #list的排序方法 直接修改的原始对象
# tupArray=(2,45,1,67,23,10)
# # print('--------排序之前---------{}'.format(li))
# # # # varList=sorted(li) #升序排列
# # # varList=sorted(li,reverse=True) #降序排序
# # # print('--------排序之后---------{}'.format(varList))
# # varRs=sorted(tupArray,reverse=False)
# # print(varRs)
# # zip() :就是用来打包的,会把序列中对应的索引位置的元素存储为一个元组
# # s1=['a','b','c']
# # s2=['你','我','c他','peter']
# # s3=['你','我','c他','哈哈','呵呵']
# # # print(list(zip(s1))) 压缩一个数据
# # zipList=zip(s2,s3) #两个参数
# # print(list(zipList))
# def printBookInfo():
#     '''
#     zip 函数的使用
#     :return:
#     '''
#     books=[] #存储所有的图书信息
#     id=input('请输入编号: 每个项以空格分隔')  #str
#     bookName = input('请输入书名: 每个项以空格分隔') #str
#     bookPos = input('请输入位置: 每个项以空格分隔')
#     idList=id.split(' ')
#     nameList = bookName.split(' ')
#     posList = bookPos.split(' ')
#
#     bookInfo=zip(idList,nameList,posList) #打包处理
#     for bookItem in bookInfo:
#         '''
#         遍历图书信息进行存储
#         '''
#         dictInfo={'编号':bookItem[0],'书名':bookItem[1],'位置':bookItem[2]}
#         books.append(dictInfo) #将字典对象添加到list容器中
#         pass
#     for item in books:
#         print(item)
#
# printBookInfo()
# # enumerate 函数用于将一个可遍历的数据对象
# # (如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,
# # 一般用在 for 循环当中
#
# listObj=['a','b','c']
# # for index,item in enumerate(listObj,5):
# #     print(index,item)
# #     pass
# dicObj={}
# dicObj['name']='李易峰'
# dicObj['hobby']='唱歌'
# dicObj['pro']='艺术设计'
# # print(dicObj)
#
# for item in enumerate(dicObj):
#     print(item) result:bool 对象中的元素除了是 0、空、FALSE 外都算 TRUE, 所有的元素都为True
# 结果就为True

# print(all([])) #True
# print(all(())) #True
# print(all([1,2,4,False]))
# print(all([1,2,4]))
# print(all((3,4,0)))
# any  result:bool 类似于逻辑运算符 or的判断,只要有一个元素为True 结果就为True
# print('--------any-------------')
# print(any(('',False,0)))
# print(any((1,2,3)))
# sort 和sorted
li=[2,45,1,67,23,10] #原始对象
# li.sort() #list的排序方法 直接修改的原始对象
tupArray=(2,45,1,67,23,10)
# print('--------排序之前---------{}'.format(li))
# # # varList=sorted(li) #升序排列
# # varList=sorted(li,reverse=True) #降序排序
# # print('--------排序之后---------{}'.format(varList))
# varRs=sorted(tupArray,reverse=False)
# print(varRs)
# zip() :就是用来打包的,会把序列中对应的索引位置的元素存储为一个元组
# s1=['a','b','c']
# s2=['你','我','c他','peter']
# s3=['你','我','c他','哈哈','呵呵']
# # print(list(zip(s1))) 压缩一个数据
# zipList=zip(s2,s3) #两个参数
# print(list(zipList))
def printBookInfo():
    '''
    zip 函数的使用
    :return:
    '''
    books=[] #存储所有的图书信息
    id=input('请输入编号: 每个项以空格分隔')  #str
    bookName = input('请输入书名: 每个项以空格分隔') #str
    bookPos = input('请输入位置: 每个项以空格分隔')
    idList=id.split(' ')
    nameList = bookName.split(' ')
    posList = bookPos.split(' ')

    bookInfo=zip(idList,nameList,posList) #打包处理
    for bookItem in bookInfo:
        '''
        遍历图书信息进行存储
        '''
        dictInfo={'编号':bookItem[0],'书名':bookItem[1],'位置':bookItem[2]}
        books.append(dictInfo) #将字典对象添加到list容器中
        pass
    for item in books:
        print(item)

# printBookInfo()
# enumerate 函数用于将一个可遍历的数据对象
# (如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,
# 一般用在 for 循环当中

listObj=['a','b','c']
# for index,item in enumerate(listObj,5):
#     print(index,item)
#     pass
dicObj={}
dicObj['name']='李易峰'
dicObj['hobby']='唱歌'
dicObj['pro']='艺术设计'
# print(dicObj)

for item in enumerate(dicObj):
    print(item)

五、集合

# set 不支持索引和切片,是一个无序的且不重复的容器
# 类似于字典 但是只有key  没有value
# 创建集合
dic1={1:3}
set1={1,2,3}
set2={2,3,4}
# print(type(set1))
# print(type(dic1))
# 添加操作
# set1.add('python')
# print(set1)
# 清空操作
# set1.clear()
# print(set1)
# 差集操作
# rs=set1.difference(set2)
# print(rs)
# print(set1-set2)
# print(set1)
# 交集操作
# print(set1.intersection(set2))
# print(set2&set1)
# 并集操作
# print(set1.union(set2))
# print(set1 | set2)
# pop 就是从集合中拿数据并且同时删除
# print(set1)
# quData=set1.pop()
# print(quData)
# print(set1)
# print(set1.discard(3)) #指定移除的元素
# print(set1)
# update 两个集合
set1.update(set2)
print(set1)

 六、练习

# --------------------------- 作业1 ----------------------------
# 求出1到10,20到30,35到45的和
print('1到10的和:', sum(range(1,11)))
print('20到30的和:', sum(range(20,31)))
print('35到45的和:', sum(range(35,46)))
def sum1(m,n):
    print('%d到%d的和:' %(m,n), sum(range(m,n+1)))

print(sum1(1,10))


# --------------------------- 作业2 ----------------------------
# 100个和尚吃100个馒头,大和尚1个吃3个馒头,小和尚3个吃1个馒头,求问有几个大和尚和小和尚
def count(m,n):
    """
    共有m个和尚,n个馒头,大和尚a人,小和尚100-a人
    :param m:
    :param n:
    :return:
    """

    for a in range(1,m):
        if a*3+(100-a)*(1/3)==n:
            return (a,100-a)
        pass
    pass

person = count(100,100)
print('大和尚{}人,小和尚{}人'.format(person[0],person[1]))


# --------------------------- 作业3 ----------------------------
# 指定一个列表,列表里含有唯一一个只出现依次的数字,找出这个数字
li = [1,3,4,3,4,5,2,4,5,2,2,3]
set1 = set(li)
# print(set1)
for i in set1:
    li.remove(i)
    pass
set2 = set(li) # set2是有重复的集合
print(set1.difference(set2)) # 求差集
rs = set1.difference(set2)
print(type(rs))
for i in rs:
    print(i)

# 法二
for i in set1: # set1中数据去重后的集合
    if i not in set2:
        print(i)
    pass
pass

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清园暖歌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值