• 6. 密码安全性检查


    题目1:密码安全性检查代码
    # 低级密码要求:
    1. 密码由单纯的数字或字母组成
    2. 密码长度小于等于8位
    # 中级密码要求:
    1. 密码必须由数字、字母或特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|)任意两种组合
    2. 密码长度不能低于8位
    #高级密码要求:

    1. 密码必须由数字、字母及特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|)三种组合
    2. 密码只能由字母开头
    3. 密码长度不能低于16位

    symbols = r"""`!@#$%^&*()_+-=/*{}[]|'";:/?,.<>""" #r表示引号中的东西是原始字符串
    chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
    nums = "0123456789"
    passwd = input("请输入需要检查的密码组合:")
    length = len(passwd) # 判断长度
    while (passwd.isspace() or length == 0):
    #passwd.isspace()检查字符串是否有空格组成
    passwd = input(" 您输入的密码为空(或空格),请重新输入: ")
    if length <= 8:
    flag_len = 1
    elif 8 < length < 16:
    flag_len = 2
    else:
    flag_len = 3
    flag_con = 0
    for each in passwd:
    if each in symbols: # 判断是否包含特殊字符
    flag_con += 1
    break
    for each in passwd:
    if each in chars: # 判断是否包含字母
    flag_con += 1
    break
    for each in passwd:
    if each in nums: # 判断是否包含数字
    flag_con += 1
    break

    # #打印结果
    while 1 :
    print(" 您的密码安全级别评定为:", end=' ')
    if flag_len == 1 or flag_con == 1 :
    print("")
    elif flag_len == 2 or flag_con == 2 :
    print("")
    else :
    print("")
    print(" 请继续保持 ")
    break

    print(" 请按以下方式提升您的密码安全级别:
    1. 密码必须由数字、字母及特殊字符三种组合
    2. 密码只能由字母开头
    3. 密码长度不能低于 16 ")
    break


    题目2. 设计一个验证用户密码程序:用户只有三次机会输入错误,不过如果用户输入的内容中包含"*"则不计算在内
    password = ("WangXiaolv")
    count = 3
    while True:
        passwd = input("请输入密码:") #必须在while语句内输入,不然会陷入while的无限循环
        if passwd == password:
            print("密码正确,进入程序")
            break #根据流程图记忆功能
        elif "*" in passwd:
            print("密码中不能含有*号!请重新输入:,您还有",count,"次机会")
            continue
        else:
            print("密码输入错误,您还有",count-1,"次机会")
            count -= 1
        if count == 0:
            print("没有机会")
            break
    题目3. 列表中的分数查询

    name = input("请输入一个名字:")
    scores = [['迷途', 85], ['黑夜', 80], ['小布丁', 65], ['福禄娃娃', 95], ['怡静', 90]]
    for each in scores:
    if name in each:
    each[1] = str(each[1])
    print(name + "的得分是:" + each[1])#引号中会直接处理为字符串
    # +连接的主要是字符串类型,each[1]为数据的话用连接
    break
    #当循环正常执行完毕后,运行else的内容,而当break退出循环不执行else的内容。
    else:
    print("查找的数据不存在")
  • 相关阅读:
    Swap Nodes in Pairs
    Permutations(copy)
    Sort Colors
    Merge Two Sorted Lists
    Implement Queue using Stacks
    Best Time to Buy and Sell Stock
    Happy Number
    Gray Code
    springMVC初次搭建,产生错误
    JSP常用指令
  • 原文地址:https://www.cnblogs.com/celine227/p/13712779.html
Copyright © 2020-2023  润新知