Python實踐專案7 18

2021-08-21 16:34:23 字數 2291 閱讀 1961

7.18.1 強口令檢測

寫乙個函式,它使用正規表示式,確保傳入的口令字串是強口令。強口令的定義是:長度不少於 8 個字元,同時包含大寫和小寫字元,至少有一位數字。你可能需要用多個正規表示式來測試該字串,以保證它的強度。

import re

text = str(input('輸入一串口令:'))

def checkpw(text):

flag = true

if len(text) < 8:

flag = false

chpwregex1 = re.compile(r'[a-z]')

chpwregex2 = re.compile(r'[a-z]')

chpwregex3 = re.compile(r'[0-9]')

if(chpwregex1.search(text)==none) or (chpwregex2.search(text)==none) or (chpwregex3.search(text)==none):

flag = false

if flag:

print('正確')

else:

print('錯誤')

checkpw(text)

輸入一串口令:fghjkltyui67

錯誤輸入一串口令:gjutghiyg678

正確

7.18.2 strip()的正規表示式版本

寫乙個函式,它接受乙個字串,做的事情和 strip()字串方法一樣。如果只傳入了要去除的字串, 沒有其他引數, 那麼就從該字串首尾去除空白字元。否則, 函式第二個引數指定的字元將從該字串中去除。 

import re

def re_strip(text, chars=none):

if chars is none:

re_stripregex = re.compile(r'^ *| *$')

else:

re_stripregex = re.compile(r'^['+ chars + ']*|[' + chars +']*$')

'''的作用是某幾個的範圍 [abcd]

'''return re_stripregex.sub('',text)

print(re_strip(' 123456 ')) # 123456

print(re_strip(' 123456')) # 123456

print(re_strip(' 123456 ')) # 123456

print(re_strip('123456 654321')) # 123456 654321

print(re_strip('123456 654321', '1')) # 23456 65432

print(re_strip('423456 654321', '1234')) # 56 65

print(re_strip('123456 654321', '1234')) # 56 65

print(re_strip('123456 654321', '124')) # 3456 6543

123456

123456

123456

123456 654321

23456 65432

56 65

56 65

3456 6543

spam = 'spamspambftyuyuispamgyuguyspamspam'

spam.strip('amps')

'bftyuyuispamgyuguy'

向strip()方法傳入引數'amps',告訴它在變數中儲存的字串兩端,刪除出現的a、m、p和大寫的s。傳入strip()方法的字串中,字元的順序並不重要:strip('amps')做的事情和strip('maps')或strip('spam')一樣。故在re_stripregex = re.compile(r'^['+ chars + ']*|[' + chars +']*$')中需要用到中括號。

1.某個區間內 如 [a-za-z0-9]

2.某幾個的範圍 [abcd]

3.可以在中括號中進行取非的操作. [^a]

4.在中括號中的字元不再有特殊的含義  如經常匹配全部的 .和*  [.][*]

python實踐專案(四)

練習1 好玩遊戲的物品清單 意味著玩家有 1 條繩索 6 個火把 42 枚金幣等。寫乙個名為 displayinventory 的函式,它接受任何可能的物品清單,並顯示如下 inventory 12 arrow 42 gold coin 1 rope 6 torch 1 dagger total n...

python實踐專案(十)

除錯硬幣拋擲 下面程式的意圖是乙個簡單的硬幣拋擲猜測遊戲。玩家有兩次猜測機會 這是乙個簡單的遊戲 但是,程式中有一些缺陷。讓程式執行幾次,找出缺陷,使該程式能正確執行。import random guess while guess not in heads tails print guess the...

Python技術專案實踐

用這個python庫,訓練你的模型成為下乙個街頭霸王!從世界矚目的圍棋遊戲 alphago,近年來,強化學習在遊戲領域裡不斷取得十分引人注目的成績。自此之後,棋牌遊戲 射擊遊戲 電子競技遊戲,如 atari 超級馬里奧 星際爭霸到 dota 都不斷取得了突破和進展,成為熱門的研究領域。今天為大家介紹...