程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python——內置函數、序列、集合(day06)

編輯:Python

目錄

一、內置函數

二、數學運算函數

三、類型轉換函數

四、序列操作

五、集合

 六、練習

一、內置函數

 

二、數學運算函數

(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


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved