鱼C论坛

 找回密码
 立即注册
查看: 2823|回复: 7

判断密码安全程度,鱼c作业题,怎么判断if else while 谁和谁对其呀

[复制链接]
发表于 2020-10-20 14:28:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
symbols = '''`!@#$%^&*()_+-=/*{}[]\|'";:/?,.<>'''
chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
nums = '0123456789'
passwd = input('请输入需要检查的密码组合:')
length = len(passwd)
while (passwd.isspace() or length == 0):
    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("请按以下方式提升您的密码安全级别:\n\\t1. 密码必须由数字、字母及特殊字符三种组合\n\\t2. 密码只能由字母开头\n\\t3. 密码长度不能低于16位'")
            break
这程序我晕了谁能给我改改错,再给我讲讲不胜感激
0. 请写一个密码安全性检查的脚本代码:check.py
# 密码安全性检查代码
# 低级密码要求:
#   1. 密码由单纯的数字或字母组成
#   2. 密码长度小于等于8位
# 中级密码要求:
#   1. 密码必须由数字、字母或特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)任意两种组合
#   2. 密码长度不能低于8位
# 高级密码要求:
#   1. 密码必须由数字、字母及特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)三种组合
#   2. 密码只能由字母开头
#   3. 密码长度不能低于16位

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-10-22 15:07:15 | 显示全部楼层
我知道程序每一行的意思,我现在分不清缩进问题,不知道谁应该和While对齐,然后导致程序没有正常执行,能帮我改下正确的对齐程序吗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-22 15:48:44 | 显示全部楼层
沈工大小o 发表于 2020-10-22 15:07
我知道程序每一行的意思,我现在分不清缩进问题,不知道谁应该和While对齐,然后导致程序没有正常执行,能 ...

symbols = '''`!@#$%^&*()_+-=/*{}[]\|'";:/?,.<>'''
chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
nums = '0123456789'
passwd = input('请输入需要检查的密码组合:')
length = len(passwd)
flag_len=0
flag_con=0
while (passwd.isspace() or length == 0):
    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("请按以下方式提升您的密码安全级别:\n\\t1. 密码必须由数字、字母及特殊字符三种组合\n\\t2. 密码只能由字母开头\n\\t3. 密码长度不能低于16位'")
    break
经过我的修改小甲鱼的程序终于跑起来了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-9-30 06:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表