Python编程快速上手——让繁琐工作自动化第七章测试题

Python编程快速上手——让繁琐工作自动化(第七章)

7.18.1 强口令检测

题目

  • 写一个函数,它使用正则表达式,确保传入的口令符号是强口令。
  • 强口令的定义是:长度不少于8个字符,同时包含大写与小写字符,至少有一个数字。
  • 你可能需要用多个正则表达式来测试该字符串,以保证它的强度。

分析

  • emmm,没啥好分析了,本题拿来练练compile( )和search( )。
  • 调用了pyperclip模块,耍耍计算机的剪贴板。

代码

import re, pyperclip
def passWord(password):
    passwordRegex1 = re.compile(r'[0-9]')
    passwordRegex2 = re.compile(r'[a-z]')
    passwordRegex3 = re.compile(r'[A-Z]')
    passwordRegex4 = re.compile(r'.{8,}')
    if passwordRegex1.search(password) and passwordRegex2.search(password) and \
        passwordRegex3.search(password) and passwordRegex4.search(password):
        print(password+ '符合强口令')
    else:
        print(password+ '不符合强口令')

text = str(pyperclip.paste())
passWord(text)

测试

Python编程快速上手——让繁琐工作自动化第七章测试题_第1张图片

7.18.2 strip( )的正则表达式版本

题目

  • 写一个函数,它接受一个字符串,做的事情和strip()字符串方法一样。
  • 如果只传入了要去除的字符串,没有其他参数,那么就从该字符串首尾去除空白字符。
  • 否则,函数第二个参数指定的字符将从该字符串中去除。

分析

  • 学会如何将变量放在正则表达式:re.compile(r’[’+变量+’]’) 或者re.compile(r’(’+变量+’)’) 。 参考链接.
    涉及到小括号( )和中括号[ ]在正则表达式中的表示。参考链接.
  • 让函数的默认值为空格。

代码

import re, pyperclip
def rStrip(text, delchar=' '):
    stringRegex = re.compile(r'^['+ delchar +']*|['+ delchar +']*$')
    #使用^和$的原因,看书本128页。
    print(stringRegex.sub('', text))
    #用sub()方法替换字符串。


text = str(pyperclip.paste())
print(text)
rStrip(text)
#rStrip(text, 'A')
#rStrip(text, '123')
#...自行测试

测试

在这里插入图片描述

心得

  • 我,毛得感情

你可能感兴趣的:(python)