python基础语法Day6函数/序列相关知识

1.1 内置函数

# abs() #绝对值
#取近似值
round(3.478,1)
#pow()求幂次方运算  3**3
pow(3,3)
#max()求最大值、mix()最小值 可以是列表/序列【】或元祖{}
#求和 sum()对系列进行求和
sum(range(50))
#eval执行表达式
a,b,c=1,2,3
print(eval('a+b+c'))
print('动态执行的函数={}'.format(eval('a*b+c-30')))
def TesrFun():
    print('我执行了吗')
    pass
eval('TesrFun()')#可以调用函数执行

1.2 类型转换

nt(bin(10))#转换2进制
print(hex(32))#转换16进制
#元祖转换列表
tup=()
print(type(tup))
li=list(tup)
print(type(li))
li.append('强制转换')
print(li)
tupList=tuple(li)
print(type(tupList))
#字典操作
dic=dict(name='小明',age=18)#创建字典
# print(type())
#bytes转换
print(bytes('我喜欢python',encoding='utf-8'))

2.1序列操作

#序列操作:str,元祖() 、list[]
#all()result是布尔类型的值,AND对象中的元素除了是0、空、FALSE外都算TRUE
#所有的元素都为true,结果为true
print(all([]))
print(all([1,2,4,False]))
print(all([1,2,4]))
print(all((3,4,5,0)))
#any()OR,只要有一个元素为true结果就为true
print(any([]))
print(any([1,2,4,False]))
print(any([1,2,4]))
print(any((3,4,5,0)))
print(any(('',False,0))
#sort 和sorted的使用
li=[2,15,1,67,23,10]
li.sort()#list的排序方法  直接修改的是原始对象
print('---------------排序之前--------------{}'.format(li))
varList=sorted(li,reverse=True)#生成一个新的列表,reverse=True生成一个新的列表
print('---------------排序之后--------------{}'.format(varList))
sorted(li)#返回新的结果
# sorted 元祖
tupArray=(1,34,2,4,5,6)
varRs=sorted(tupArray,reverse=False)
print(varRs)
# range(start,stop,step)
#zip()用来打包的,会把序列中对应的索引位置的元素存储为元祖
s1=['a','b','c']
s2=['你','我','他']
s3=['你','我','他','哈哈','呵呵']
print(list(zip(s1))) #压缩一个数据,以元祖形式返回
zipList=zip(s1,s2)
print(list(zipList))
def printBookInfo():
#     """
#     zip函数的使用
#     :return:
#     """
#     books=[]#存储所有的图书信息
    id=input('请输入编号:每个项以空格分隔')
    bookName=input('请输入书名:空格分隔')
    bookPos = input('请输入位置:空格分割')
    idList = id.split(' ')
    nameList=id.split(' ')
    posList=id.split(' ')
    bookInfo=zip(idList,nameList,posList)#进行打包处理
    # print(bookInfo)?为什么不能直接打印
    for bookItem in bookInfo:
        """
        遍历图书信息进行存储
        """
        dictInfo={'编号':bookItem[0],'书名':bookItem[1],'位置':bookItem[2]}
        books.append(dictInfo)#将字典对象添加到list容器中
        print(books)
        pass
    pass
printBookInfo()
#enumerate() 用于一个可遍历的数据对象(如列表、元祖或字符串)
# 组合为一个索引序列,同时列出数据和数据下标,一般用在for循环当中
listObj=['a','b','c']#元祖
for item in enumerate(listObj):
    print(item)
#或
for index,item in enumerate(listObj,5): #默认从0开始,可以打印出索引下标
    print(index,item)
dicObj={} #字典
dicObj['name']='李易峰'
dicObj['hobby']='唱歌'
dicObj['pro']='艺术设计'
# print(dicObj)
for item in enumerate(dicObj):
    print()#如何才能打印出’艺术设计‘

3.0内置函数.集合

    #集合
#set 不支持索引和切片,是一个无序的且不重复的容器
#类似字典{},但只有key,没有value
#创建集合
dict11={1:3}
set1={3,4}
set2={2,4,6}
print(type(set1))
print(type(dict11))
#添加操作
set1.add('python')
print(set1)
#清空操作
# set1.clear()
# print(set1)
#差集函数,a中有,b中没有的
rs=set1.difference(set2)
print(rs)
#交集操作
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到10,20到30,和35到45的总和
def sumRange(m,n):
    """
    求从m到n,包含n的连续自然数的总和
    :param m: 开始值 int
    :param n: 结束值 int
    :return:
    """
    return  sum(range(m,n+1))
    pass
print(sumRange(1,10))
print(sumRange(20,30))
print(sumRange(35,45))
print(sumRange(1,3))
#100个和尚吃100个馒头,大和尚一个人吃3个馒头,小和尚三个人吃1个馒头,请问大小和尚各有多少人?
def personCoun():
    """
    计算各有多少和尚,假设大和尚a,小和尚100-a
    :return:
    """
    for a in range(1,100):
        if a*3+(100-a)*(a/3)==100: #100个和尚吃100个馒头
            return (a,100-a)
        pass
    pass
rsObj=personCoun() #rsObj接收返回的元祖
print('大和尚{}人,小和尚{}人'.format(rsObj[0],rsObj[1])) #利用索引取出值
#指定一个列表,列表里含有唯一的一个,只出现过一次的数字,写程序找出‘独一无二’的数字
li=[1,3,4,3,3,5,2,4,2,5,1,7]  #唯一没有重复的是1
set1=set(li)
print(set1)
for i in set1:
    li.remove(i)
    pass
set2=set(li)#原来li中有重复数字的集合
for i in set1:   #set1中数字数据全部去重后形成的集合
    if i not in set2:
        print(i)
        pass
    pass
pass
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值