python練習5

import re
from datetime import datetime, timezone, timedeltadef to_timestamp(dt_str, tz_str):# 時間dt_now = datetime.strptime(dt_str, '%Y-%m-%d %H:%M:%S')#時區tz_num = int(re.match('\w{3}([+|-]\d+):00',tz_str).groups()[0])tz_utc = timezone(timedelta(hours = tz_num))#utc時間,強制設置時區dt_now = dt_now.replace(tzinfo=tz_utc)return dt_now.timestamp()# 測試:
t1 = to_timestamp('2015-6-1 08:10:30', 'UTC+7:00')
assert t1 == 1433121030.0, t1t2 = to_timestamp('2015-5-31 16:10:30', 'UTC-09:00')
assert t2 == 1433121030.0, t2print('ok')#請寫一個能處理去掉=的base64解碼函數:#在python中字符串和字節編碼序列之間的轉換一定要用utf-8編碼和解碼
import base64def safe_base64_decode(s):if len(s) % 4 == 0:return base64.b64decode(s)else:remain = 4 - (len(s) % 4)a = '='a *= remains = s.decode('utf-8')s += areturn base64.b64decode(s.encode('utf-8'))# 測試:
assert b'abcd' == safe_base64_decode(b'YWJjZA=='), safe_base64_decode('YWJjZA==')
assert b'abcd' == safe_base64_decode(b'YWJjZA'), safe_base64_decode('YWJjZA')
print('ok')# -*- coding: utf-8 -*-
import base64, structdef bmp_info(data):info = struct.unpack('<ccIIIIIIHH',data[:30])if (info[0] , info[1]) == (b'B',b'M'):return {'width': info[6],'height': info[7],'color': info[9]}else:return 'NOT BMP FILE'def bmp_check(file):with open(file,'rb') as f:info = struct.unpack('<ccIIIIIIHH',f.read(30))if (info[0], info[1]) == (b'B', b'M'):return {'width': info[6],'height': info[7],'color': info[9]}else:return 'NOT BMP FILE'#print(struct.unpack('<ccIIIIIIHH',bmp_data[:30]))
# 測試
bi = bmp_check(r'')#文件路徑
print(bi)
assert bi['width'] == 28
assert bi['height'] == 10
assert bi['color'] == 16
print('ok')# -*- coding: utf-8 -*-
import hashlib
db = {'michael': 'e10adc3949ba59abbe56e057f20f883e','bob': '878ef96e86145580c38c87f0410ad153','alice': '99b1c2188db85afee403b1536010c2c9'
}def login(user, password):md5 = hashlib.md5()md5.update(password.encode('utf-8'))return md5.hexdigest() == db[user]# 測試:
assert login('michael', '123456')
assert login('bob', 'abc999')
assert login('alice', 'alice2008')
assert not login('michael', '1234567')
assert not login('bob', '123456')
assert not login('alice', 'Alice2008')
print('ok')# -*- coding: utf-8 -*-
import hashlib, randomdef get_md5(s):return hashlib.md5(s.encode('utf-8')).hexdigest()class User(object):def __init__(self, username, password):self.username = usernameself.salt = ''.join([chr(random.randint(48, 122)) for i in range(20)])self.password = get_md5(password + self.salt)
db = {'michael': User('michael', '123456'),'bob': User('bob', 'abc999'),'alice': User('alice', 'alice2008')
}def login(username, password):user = db[username]return user.password == get_md5(password+user.salt)# 測試:
assert login('michael', '123456')
assert login('bob', 'abc999')
assert login('alice', 'alice2008')
assert not login('michael', '1234567')
assert not login('bob', '123456')
assert not login('alice', 'Alice2008')
print('ok')

?

轉載于:https://www.cnblogs.com/MalcolmMeng/p/8442958.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/252565.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/252565.shtml
英文地址,請注明出處:http://en.pswp.cn/news/252565.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

搶火車票這個事吧,其實我也能做!(python黑科技)

2019獨角獸企業重金招聘Python工程師標準>>> 又是一年&#xff0c;馬上就要回家過年了&#xff0c;還沒有買到票的小伙伴們是否已經像熱鍋上的螞蟻了無腦的開始找黃牛了? 俗話說的好&#xff0c;求人不如求自己&#xff0c;搶票這玩意&#xff0c;其實我覺得我也可…

用 Python+openpose 實現抖音尬舞機

游戲開始后&#xff0c;隨著音樂會給出不同的動作提示&#xff0c;用戶按照提示擺出正確動作即可得分。援引官方說法&#xff0c;“尬舞機”主要應用了今日頭條 AI Lab 自主開發的“人體關鍵點檢測技術”&#xff0c;依靠這項技術&#xff0c;抖音能夠檢測到圖像中所包含人體的…

PHP獲取中文字符拼音首字母

在項目中遇到需要把游戲進行字母排序&#xff0c;于是百度到一個格式化的首字母的方法。 /*** name php獲取中文字符拼音首字母* param $str* return null|string*/public function getFirstCharter($str){if (empty($str)) {return ;}$fchar ord($str{0});if ($fchar > or…

Array類型

一、轉換方法 toString() 調用數組的toString()方法會返回由數組中每個值的字符串形式拼接而成的一個以逗號分割的字符串 valueOf() 返回的還是數組 實際上&#xff0c;為了創建這個字符串會調用數組每一項的toString()方法 二、棧方法 push() pop() 只發生在棧的頂部 三…

Create a Service Catalog Request via REST API

http://wiki.servicenow.com/index.php?titleUseful_Catalog_Scripts#Eureka http://wiki.servicenow.com/index.php?titleService_Catalog_Script_API#gsc.tab0 Service Catalog APIhttps://docs.servicenow.com/bundle/istanbul-servicenow-platform/page/integrate/inboun…

MYSQL和JAVA(課堂筆記)

MYSQL  數據庫管理工具 JAVA    編程語言 數據庫驅動&#xff08;JAVA和MYSQL對接方式&#xff09; 到官網上下載驅動    加載驅動 import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement;public class S…

解密昇騰AI處理器--Ascend310簡介

Ascend310 AI處理器規格 Ascend310 AI處理器邏輯架構 昇騰AI處理器本質上是一個片上系統&#xff08;System on Chip&#xff0c;SoC&#xff09;&#xff0c;主要可以應用在和圖像、視頻、語音、文字處理相關的應用場景。其主要的架構組成部件包括特制的計算單元、大容量的存儲…

銀盒子掃碼下單在線訂單開啟商品售賣時段使用說明

1&#xff0c;登陸管理員賬號&#xff0c;子賬號下&#xff0c;配置管理--店鋪配置--掃碼下單Tab頁&#xff0c;是否開啟商品售賣時段&#xff0c;選擇“是” 2&#xff0c;在商家后臺登陸相應的子賬號&#xff0c;在店鋪管理--商品售賣時段里配置售賣時間以及相應時段售賣的商…

使用pandas時遇到ValueError: numpy.dtype has the wrong size, try recompiling

[問題]使用pandas時遇到ValueError: numpy.dtype has the wrong size, try recompiling [原因] 這是因為 Python 包的版本問題&#xff0c;例如安裝了較舊版本的 Numpy&#xff0c;但安裝了較新版本的 Pandas。 [解決方法] 查看Numpy版本號 python -c "import numpy; prin…

『Python基礎-12』各種推導式(列表推導式、字典推導式、集合推導式)

# 『Python基礎-12』各種推導式&#xff08;列表推導式、字典推導式、集合推導式&#xff09; 推導式comprehensions&#xff08;又稱解析式&#xff09;&#xff0c;是Python的一種獨有特性。推導式是可以從一個數據序列構建另一個新的數據序列的結構體。 共有三種推導&#x…

海思芯片選型表匯總

海思芯片選型表匯總_「違規用戶」的博客-CSDN博客_海思芯片型號大全

Docker中未指定掛載點容器間volume卷的數據共享

一 背景 在實際使用過程中&#xff0c;我們可能會經常遇到容器間數據共享的情況&#xff0c;怎么處理呢&#xff1f;通過 docker 命令中的一些選項&#xff0c;我們即可完成容器間的數據共享。 二 實驗步驟 2.1 創建容器 容器一&#xff1a;gysl-1 [rootdev ~]# docker run -it…

為什么早上和傍晚的太陽總是紅色,而中午的大陽卻是黃白色?

由太陽光本質決定&#xff0c;但會受環境影響。在地球上和火星上看到的太陽光也是有區別的&#xff0c;和太氣層物質及厚薄也有關系。太陽光是由赤橙黃綠青藍紫七色光組成的復合光是白色光。 在日出和日落的時候&#xff0c;地平線上所透過的大氣層厚度&#xff0c;一般要比白…

js把日期字符串轉換成時間戳

//獲取當前時間&#xff1a; var myDate new Date();//當前時間 var year myDate.getFullYear();//當前年份 var month myDate.getMonth() 1;//當前月份 var day myDate.getDate();//當前日 myDate.getYear(); //獲取當前年份(2位) myDate.getFullYear(); …

VS2008中開發智能設備程序的一些總結

原文鏈接&#xff1a;http://blog.csdn.net/citybug_nj/article/details/2598705 程序中包括四個部分&#xff1a; 系統配置這個部分用來配置系統中的相關參數&#xff0c;參數包括數據庫信息和串口的配置信息。這部分的主要技術是XML文件的讀取和寫入。 數據下載從數據庫中下載…

go語言值得學習的開源項目推薦

谷歌官方維護了一個基于go語言的開源項目列表&#xff1a; https://github.com/golang/go/wiki/Projects 其中有非常多的優秀項目值得學習&#xff0c;有幾百行代碼適合新手閱讀的項目&#xff0c;也有大型如nsq、docker等的項目。 下面推薦幾款適合學習的項目&#xff1a; 1、…

部分Nand flash uboot 命令詳解

nand info & nand device顯示flash的信息&#xff1a; DM365 :>nand info Device 0: NAND 32MiB 3,3V 8-bit, sector size 16 KiB DM365 :>nand device Device 0: NAND 32MiB 3,3V 8-bitnand read(.oob) addr off size 不管是讀取data, 使用nand read&#xff0c;還是…

java7

第八章 數組 1.數組的聲明定義 數據類型[]變量名 new 數據類型[長度]; 列&#xff1a;int[]ary new int[5]; 2.取值&#xff0c;賦值 取值&#xff1a;數據名[下標]; 列&#xff1a;int a ary[1]; 賦值&#xff1a;變量數據名[…

BZOJ 3564 信號增幅儀

題目鏈接&#xff1a;http://www.lydsy.com/JudgeOnline/problem.php?id3564 題意&#xff1a;給出平面上n個點&#xff0c;畫出一個橢圓&#xff0c;橢圓的長軸是短軸的p倍&#xff0c;且長軸的方向為x軸逆時針旋轉a度。求這個橢圓短軸的最小值使得可以覆蓋所以點。 思路&…

CentOS 7 搭建JAVA環境

安裝環境&#xff1a; LSB Version: :core-4.1-amd64:core-4.1-noarch Distributor ID: CentOS Description: CentOS Linux release 7.3.1611 (Core) Release: 7.3.1611 Codename: Core 開始 運行java -version 檢查系統是否安裝JRE 或JDK&#xff0c;有則卸載系統自帶JAVA包輸…