python學習第十三 十四天

2022-09-01 01:24:13 字數 4007 閱讀 9265

python內建函式圖:

# # # lambda() #匿名函式

# ### 練習:

# n = lambda a,b: a+b

# print(n(2,3))

## # 用 lambda 計算字串長度

# # a = lambda n : len(n)

# lst = ['金克斯','阿卡麗','阿狸','vn','大嘴','德瑪西亞皇子']

# # 按照文字長短來排序

# def func(s):

# return len(s)

## s = sorted(lst , key=func) # 把列表中的每乙個元素傳遞給func,

# print(s)

# # 按照年齡排序

# lst = [

# ,

# ,

# ,

#

# ]# def func(dic):

# return dic['age']

## s = sorted(lst , key=func)

# print(s)

# # # filter() 篩選

# ### 練習:

# lst = ['金克斯','阿卡麗','阿狸','vn','大嘴','德瑪西亞皇子']

## # 把後面的可迭代物件(lst)中的元素交給前面(f)的函式。根據返回值true或者false,判斷是否保留該元素

# f = filter(lambda s : len(s) > 2 , lst)

# print(f)

# print('__iter__' in dir(f))

# for el in f:

# print(el)

# # 篩選年齡大於等於38的人

# lst = [

# ,

# ,

# ,

#

# ]# f = filter(lambda dic:dic['age'] >= 38 , lst)

# for el in f:

# print(el)

# # # map() 對映

# # 把可迭代物件中的每乙個元素拿出來交給前面的函式執行。保留最後執行結果。

# ### 練習:

# # 計算列表中每一項的平方

# lst = [2,5,64,6,3,2,5,8,4,]

# m = map (lambda x: x**2 , lst)

# for el in m:

# print(el)

# # 給出乙個列表判斷正確的使用者名稱和密碼:

# # ["alex_123", "alex_456", "wusir_123", "wusir_456", "alex_789"]

# # 正確的使用者名稱: alex

# # 密碼:456

# lst = ["alex_123", "alex_456", "wusir_123", "wusir_456", "alex_789"]

# m = map (lambda x : x == 'alex_456' ,lst)

# for el in m:

# print(el)

# lst1 = list(map (lambda x : x == 'alex_456' ,lst))

# print(lst1)

# # # 遞迴

# # 函式自己呼叫自己

# import os

# def func(path,ceng):

# lst = os.listdir(path) #開啟乙個資料夾。獲取資料夾中的所有內容

# for el in lst: #當前資料夾的所有檔名(包括資料夾名字)

# # 拼接檔案的真實路徑

# file_real_path = os.path.join(path,el)

# # 判斷這路徑是檔案還是資料夾

# if os.path.isdir(file_real_path):

# print('\t'*ceng,el)

# # 遞迴的入口

# func(file_real_path,ceng+1) # 重新執行剛剛的操作

# else: # 不是資料夾,是檔案

# # 遞迴的出口

# print('\t'*ceng,el)

# func('d:/a',0)

# # os : 和作業系統相關的一些功能

# # os.listdir() : 幫我們開啟乙個資料夾,返回資料夾內的所有內容(檔案的名字)

# # os.path.join : 拼接檔案的真是路徑

# # os.path.isdir(路徑) : 判斷是檔案還是資料夾(true為資料夾,false為檔案)

## 判斷使用者輸入的數字是否存在在列表中

lst = [4, 56, 178, 253, 625, 1475, 2580, 3574, 15963]

## 普通版:

# num = int(input('請輸入乙個數字:'))

# for el in lst:

# if num == int(el):

# print('true')

# break

# else:

# print('false')

# 二分法:

# left = 0 # 左邊界

# right = len(lst) - 1 # 末尾索引 右邊界

# num = int(input('請輸入乙個數字:'))

# while left <= right: # 當左邊界大於右邊界結束迴圈

# mid = (left + right) // 2 # 求中間索引座標

# if num < lst[mid]: #判斷數字與中間值的大小

# right = mid - 1 # 右邊界往左移

# elif num > lst[mid]: #判斷數字與中間值的大小

# left = mid + 1 # 左邊界往右移

# else:

# print('true') # 找到目標數字

# break

# else: # 當左比右大,結束迴圈,沒有找到目標數字

# print('none')

## 使用遞迴的二分法

# def binary_search(lst, n, left, right):

# if left > right:

# return false

# mid = (left + right) // 2

# if n < lst[mid]:

# right = mid - 1

# return binary_search(lst, n, left, right)

# elif n > lst[mid]:

# left = mid + 1

# return binary_search(lst, n, left, right)

# else:

# print('找到了')

# return true

## n = int(input('請輸入乙個數字:'))

# ret = binary_search(lst, n, 0, len(lst)-1)

python學習 第十四天

在下這廂有禮了 python正規表示式 python通過re模組提供對正規表示式的支援。使用re的一般步驟是先將正規表示式的字串形式編譯為pattern例項,然後使用pattern例項處理文字並獲得匹配結果 乙個match例項 最後使match例項獲得資訊,進行其他的操作。encoding utf ...

學習python 第十四天

python 傳送電子郵件 訪問 http協議,傳送郵件要使用smtp。smtp mail transfer protocol 即簡單郵件傳輸協議,它是一組用於由源位址到目的位址傳送郵件的規則,由它來控制信件的中轉方式。python的smtplib提供了一種很方便的途徑傳送電子郵件。它對smtp協議...

python學習第十四天

1 遞迴函式 自己呼叫自己的函式 遞 去歸 回 一去一回叫做遞迴 遞迴函式有回的過程,有兩種情況可以觸發 1.當最後一層函式全部執行結束的時候,有觸底 的過程 回馬槍 回到上層函式空間的呼叫處 2.遇到return返回值,直接返回上層空間的呼叫處 遞迴函式在執行的時候,需要記憶體開闢空間才可以,這個...