python3示例_Python3 实例(七)
原標題:Python3 實例(七)
Python 將字符串的時間轉換為時間戳
給定一個字符串的時間,將其轉換為時間戳。
實例
import time
a1 = "2019-5-10 23:40:00"
# 先轉換為時間數組
timeArray = time.strptime(a1, "%Y-%m-%d %H:%M:%S")
# 轉換為時間戳
timeStamp = int(time.mktime(timeArray))
print(timeStamp)
# 格式轉換 - 轉為 /
a2 = "2019/5/10 23:40:00"
# 先轉換為時間數組,然后轉換為其他格式
timeArray = time.strptime(a2, "%Y-%m-%d %H:%M:%S")
otherStyleTime = time.strftime("%Y/%m/%d %H:%M:%S", timeArray)
print(otherStyleTime)
執行以上代碼輸出結果為:
1557502800
Python 獲取幾天前的時間
計算幾天前并轉換為指定格式。
實例 1
import time
import datetime
# 先獲得時間數組格式的日期
threeDayAgo = (datetime.datetime.now() - datetime.timedelta(days = 3))
# 轉換為時間戳
timeStamp = int(time.mktime(threeDayAgo.timetuple()))
# 轉換為其他字符串格式
otherStyleTime = threeDayAgo.strftime("%Y-%m-%d %H:%M:%S")
print(otherStyleTime)
執行以上代碼輸出結果為:
2019-05-18 18:06:08
實例 2
import time
import datetime
#給定時間戳
timeStamp = 1557502800
dateArray = datetime.datetime.utcfromtimestamp(timeStamp)
threeDayAgo = dateArray - datetime.timedelta(days = 3)
print(threeDayAgo)
執行以上代碼輸出結果為:
2019-05-07 15:40:00
Python 將時間戳轉換為指定格式日期
給定一個時間戳,將其轉換為指定格式的時間。
注意時區的設置。
當前時間
實例 1
import time
# 獲得當前時間時間戳
now = int(time.time())
#轉換為其他日期格式,如:"%Y-%m-%d %H:%M:%S"
timeArray = time.localtime(now)
otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
print(otherStyleTime)
執行以上代碼輸出結果為:
2019-05-21 18:02:49
實例 2
import datetime
# 獲得當前時間
now = datetime.datetime.now()
# 轉換為指定的格式
otherStyleTime = now.strftime("%Y-%m-%d %H:%M:%S")
print(otherStyleTime)
執行以上代碼輸出結果為:
2019-05-21 18:03:48
指定時間戳
實例 3
import time
timeStamp = 1557502800
timeArray = time.localtime(timeStamp)
otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
print(otherStyleTime)
執行以上代碼輸出結果為:
2019-05-10 23:40:00
實例 4
import datetime
timeStamp = 1557502800
dateArray = datetime.datetime.utcfromtimestamp(timeStamp)
otherStyleTime = dateArray.strftime("%Y-%m-%d %H:%M:%S")
print(otherStyleTime)
執行以上代碼輸出結果為:
2019-05-10 23:40:00
Python 打印自己設計的字體
通過對 26 個字母的設定,設置自己要輸出的字體。
實例
name = "RUNOOB"
# 接收用戶輸入
# name = input("輸入你的名字: \n\n")
lngth = len(name)
l = ""
for x in range(0, lngth):
c = name[x]
c = c.upper()
if (c == "A"):
print("..######..\n..#....#..\n..######..", end = " ")
print("\n..#....#..\n..#....#..\n\n")
elif (c == "B"):
print("..######..\n..#....#..\n..#####...", end = " ")
print("\n..#....#..\n..######..\n\n")
elif (c == "C"):
print("..######..\n..#.......\n..#.......", end = " ")
print("\n..#.......\n..######..\n\n")
elif (c == "D"):
print("..#####...\n..#....#..\n..#....#..", end = " ")
print("\n..#....#..\n..#####...\n\n")
elif (c == "E"):
print("..######..\n..#.......\n..#####...", end = " ")
print("\n..#.......\n..######..\n\n")
elif (c == "F"):
print("..######..\n..#.......\n..#####...", end = " ")
print("\n..#.......\n..#.......\n\n")
elif (c == "G"):
print("..######..\n..#.......\n..#.####..", end = " ")
print("\n..#....#..\n..#####...\n\n")
elif (c == "H"):
print("..#....#..\n..#....#..\n..######..", end = " ")
print("\n..#....#..\n..#....#..\n\n")
elif (c == "I"):
print("..######..\n....##....\n....##....", end = " ")
print("\n....##....\n..######..\n\n")
elif (c == "J"):
print("..######..\n....##....\n....##....", end = " ")
print("\n..#.##....\n..####....\n\n")
elif (c == "K"):
print("..#...#...\n..#..#....\n..##......", end = " ")
print("\n..#..#....\n..#...#...\n\n")
elif (c == "L"):
print("..#.......\n..#.......\n..#.......", end = " ")
print("\n..#.......\n..######..\n\n")
elif (c == "M"):
print("..#....#..\n..##..##..\n..#.##.#..", end = " ")
print("\n..#....#..\n..#....#..\n\n")
elif (c == "N"):
print("..#....#..\n..##...#..\n..#.#..#..", end = " ")
print("\n..#..#.#..\n..#...##..\n\n")
elif (c == "O"):
print("..######..\n..#....#..\n..#....#..", end = " ")
print("\n..#....#..\n..######..\n\n")
elif (c == "P"):
print("..######..\n..#....#..\n..######..", end = " ")
print("\n..#.......\n..#.......\n\n")
elif (c == "Q"):
print("..######..\n..#....#..\n..#.#..#..", end = " ")
print("\n..#..#.#..\n..######..\n\n")
elif (c == "R"):
print("..######..\n..#....#..\n..#.##...", end = " ")
print("\n..#...#...\n..#....#..\n\n")
elif (c == "S"):
print("..######..\n..#.......\n..######..", end = " ")
print("\n.......#..\n..######..\n\n")
elif (c == "T"):
print("..######..\n....##....\n....##....", end = " ")
print("\n....##....\n....##....\n\n")
elif (c == "U"):
print("..#....#..\n..#....#..\n..#....#..", end = " ")
print("\n..#....#..\n..######..\n\n")
elif (c == "V"):
print("..#....#..\n..#....#..\n..#....#..", end = " ")
print("\n...#..#...\n....##....\n\n")
elif (c == "W"):
print("..#....#..\n..#....#..\n..#.##.#..", end = " ")
print("\n..##..##..\n..#....#..\n\n")
elif (c == "X"):
print("..#....#..\n...#..#...\n....##....", end = " ")
print("\n...#..#...\n..#....#..\n\n")
elif (c == "Y"):
print("..#....#..\n...#..#...\n....##....", end = " ")
print("\n....##....\n....##....\n\n")
elif (c == "Z"):
print("..######..\n......#...\n.....#....", end = " ")
print("\n....#.....\n..######..\n\n")
elif (c == " "):
print("..........\n..........\n..........", end = " ")
print("\n..........\n\n")
elif (c == "."):
print("----..----\n\n")
執行以上代碼輸出結果為:
..######..
..#....#..
..#.##...
..#...#...
..#....#..
..#....#..
..#....#..
..#....#..
..#....#..
..######..
..#....#..
..##...#..
..#.#..#..
..#..#.#..
..#...##..
..######..
..#....#..
..#....#..
..#....#..
..######..
..######..
..#....#..
..#....#..
..#....#..
..######..
..######..
..#....#..
..#####...
..#....#..
..######..
Python 二分查找
二分搜索是一種在有序數組中查找某一特定元素的搜索算法。
搜索過程從數組的中間元素開始,如果中間元素正好是要查找的元素,則搜索過程結束;如果某一特定元素大于或者小于中間元素,則在數組大于或小于中間元素的那一半中查找,而且跟開始一樣從中間元素開始比較。如果在某一步驟數組為空,則代表找不到。這種搜索算法每一次比較都使搜索范圍縮小一半。
實例 : 遞歸
# 返回 x 在 arr 中的索引,如果不存在返回 -1
def binarySearch (arr, l, r, x):
# 基本判斷
if r >= l:
mid = int(l + (r - l)/2)
# 元素整好的中間位置
ifarr[mid] == x:
return mid
# 元素小于中間位置的元素,只需要再比較左邊的元素
elif arr[mid] > x:
return binarySearch(arr, l, mid-1, x)
# 元素大于中間位置的元素,只需要再比較右邊的元素
else:
returnbinarySearch(arr, mid+1, r, x)
else:
# 不存在
return -1
# 測試數組
arr = [ 2, 3, 4, 10, 40 ]
x = 10
# 函數調用
result = binarySearch(arr, 0, len(arr)-1, x)
if result != -1:
print ("元素在數組中的索引為 %d" % result )
else:
print ("元素不在數組中")
執行以上代碼輸出結果為:
元素在數組中的索引為 3
Python 線性查找
線性查找指按一定的順序檢查數組中每一個元素,直到找到所要尋找的特定值為止。
實例
def search(arr, n, x):
for i in range (0, n):
if (arr[i] == x):
return i;
return -1;
# 在數組 arr 中查找字符 D
arr = [ 'A', 'B', 'C', 'D', 'E' ];
x = 'D';
n = len(arr);
result = search(arr, n, x)
if(result == -1):
print("元素不在數組中")
else:
print("元素在數組中的索引為", result);
執行以上代碼輸出結果為:
元素在數組中的索引為 3
Python 插入排序
插入排序(英語:Insertion Sort)是一種簡單直觀的排序算法。它的工作原理是通過構建有序序列,對于未排序數據,在已排序序列中從后向前掃描,找到相應位置并插入。
實例
def insertionSort(arr):
for i in range(1, len(arr)):
key = arr[i]
j = i-1
while j >=0 and key < arr[j] :
arr[j+1] = arr[j]
j -= 1
arr[j+1] = key
arr = [12, 11, 13, 5, 6]
insertionSort(arr)
print ("排序后的數組:")
for i in range(len(arr)):
print ("%d" %arr[i])
執行以上代碼輸出結果為:
排序后的數組:
5
6
11
12
13
Python 快速排序
快速排序使用分治法(Divide and conquer)策略來把一個序列(list)分為較小和較大的2個子序列,然后遞歸地排序兩個子序列。
步驟為:
挑選基準值:從數列中挑出一個元素,稱為"基準"(pivot);
分割:重新排序數列,所有比基準值小的元素擺放在基準前面,所有比基準值大的元素擺在基準后面(與基準值相等的數可以到任何一邊)。在這個分割結束之后,對基準值的排序就已經完成;
遞歸排序子序列:遞歸地將小于基準值元素的子序列和大于基準值元素的子序列排序。
遞歸到最底部的判斷條件是數列的大小是零或一,此時該數列顯然已經有序。
選取基準值有數種具體方法,此選取方法對排序的時間性能有決定性影響。
實例
def partition(arr,low,high):
i = ( low-1 ) # 最小元素索引
pivot = arr[high]
for j in range(low , high):
# 當前元素小于或等于 pivot
if arr[j] <= pivot:
i = i+1
arr[i],arr[j] = arr[j],arr[i]
arr[i+1],arr[high] = arr[high],arr[i+1]
return ( i+1 )
# arr[] --> 排序數組
# low --> 起始索引
# high --> 結束索引
# 快速排序函數
def quickSort(arr,low,high):
if low < high:
pi = partition(arr,low,high)
quickSort(arr, low, pi-1)
quickSort(arr, pi+1, high)
arr = [10, 7, 8, 9, 1, 5]
n = len(arr)
quickSort(arr,0,n-1)
print ("排序后的數組:")
for i in range(n):
print ("%d" %arr[i]),
執行以上代碼輸出結果為:
排序后的數組:
1
5
7
8
9
10
Python 選擇排序
選擇排序(Selection sort)是一種簡單直觀的排序算法。它的工作原理如下。
首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再從剩余未排序元素中繼續尋找最小(大)元素,然后放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。
實例
import sys
A = [64, 25, 12, 22, 11]
for i in range(len(A)):
min_idx = i
forj in range(i+1, len(A)):
if A[min_idx] > A[j]:
min_idx = j
A[i], A[min_idx] = A[min_idx], A[i]
print ("排序后的數組:")
for i in range(len(A)):
print("%d" %A[i]),
執行以上代碼輸出結果為:
排序后的數組:
11
12
22
25
64
Python 冒泡排序
冒泡排序(Bubble Sort)也是一種簡單直觀的排序算法。
它重復地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重復地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個算法的名字由來是因為越小的元素會經由交換慢慢"浮"到數列的頂端。
實例
def bubbleSort(arr):
n = len(arr)
# 遍歷所有數組元素
for i in range(n):
# Last i elements are already in place
for j in range(0, n-i-1):
if arr[j] > arr[j+1] :
arr[j], arr[j+1] = arr[j+1], arr[j]
arr = [64, 34, 25, 12, 22, 11, 90]
bubbleSort(arr)
print ("排序后的數組:")
for i in range(len(arr)):
print ("%d" %arr[i]),
執行以上代碼輸出結果為:
排序后的數組:
11
12
22
25
34
64
90
好了,本文就給大伙分享到這里,文末分享一波福利
獲取方式:加python群 839383765 即可獲取!返回搜狐,查看更多
責任編輯:
總結
以上是生活随笔為你收集整理的python3示例_Python3 实例(七)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 欠信用卡15万3年没还跑路有用吗?抓人坐
- 下一篇: 民生开心消消乐联名信用卡额度多少?提额有