python编程快速上手 第7章实践项目答案

7.18.1 强口令检测
  写一个函数,它使用正则表达式,确保传入的口令字符串是强口令。强口令的定义是:长度不少于8个字符,同时包含大写和小写字符,
至少有一位数字。你可能需要用多个正则表达式来测试该字符串,以保证它的强度
import re
def check(password):
    num  = len(password)
    pwRegex1 = re.compile(r'[a-z]+')
    pwRegex2 = re.compile(r'[A-Z]+')
    pwRegex3 = re.compile(r'[0-9]+')

    if pwRegex1.search(password) is None:
        print('请输入至少一个大写字母!')
    if pwRegex2.search(password) is None:
        print('请输入至少一个小写字母!')
    if pwRegex3.search(password) is None:
        print('请输入至少一个数字!')
    if num < 8:
        print('密码长度大于8!')
    if (num>=8)and(pwRegex1.search(password) is not None)and( pwRegex2.search(password) is not None)and(pwRegex3.search(password) is not None):
        return True
while True:
    pw=input("请输入密码:")
    if check(pw) is True:
        break






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

import re

str1 = input('请输入原字符串:')
str2 = input('请输入原字符串中要删除的字符:')

def newstrip(str1,str2):
    strRegex1 = re.compile(r'^\s+|\s+$')
    strRegex2 = re.compile(str2)

    temp = strRegex1.sub('',str1)
    temp = strRegex2.sub('',temp)

    print(temp)
newstrip(str1,str2)
 
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值