Python编程快速上手-第七章实践

时间:2021-05-17 19:21:20

初学python,尝试着写一写,仅供参考,欢迎指正!

7.18.1 强口令检测

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

import re
passWord=str(input('请输入口令,长度不小于8\n'))
if len(passWord)<8:
    passWord=input('the length must be bigger than eight\n')
if re.compile(r'[A-Z]').search(passWord)==None:
    passWord=input('password must contain Upper character\n')
if re.compile(r'[a-z]').search(passWord)==None:
    passWord=input('password must contain lower character\n')
if re.compile(r'[0-9]').search(passWord)==None:
    passWord=input('password must contain digit\n')
else:
    print('proper password,congratulations')

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

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

import re
def stripFunc(aString,arguement=''):
    if arguement=='':
        aString=re.compile(r'^\s*').sub('',aString)
        aString=re.compile(r'\s*$').sub('',aString)
        print(aString)
    else:
        aString=re.compile('^'+arguement+'*').sub('',aString)
        aString=re.compile(arguement+'*$').sub('',aString)
        print(aString)
stringOne=str(input('print original string\n'))
stringTwo=str(input('print replacement string\n'))
stripFunc(stringOne,arguement=stringTwo)