鱼C论坛

 找回密码
 立即注册
查看: 1274|回复: 2

14讲课后作业密码安全性检查的while 1

[复制链接]
发表于 2020-10-9 22:33:54 | 显示全部楼层 |阅读模式

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

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

x
请教2个问题
1,while 1  是不是等于 while True ?

2,    if flag_len == 1 or flag_con == 1:
        print("您的密码强度为低")
这里是不是也要加break  不然会一直循环打印 "您的密码强度为低")  ?
        


以下是我敲的代码 谢谢各位老师指点

symbols = r'''`!@#$%^&*()_+-=/*{}[]\|'";:/?,.<>'''
chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
nums = '0123456789'
passwd = input("请输入您的密码:")
length = len(passwd)
while passwd.isspace() or length == 0:
    print('您输入的是空格或者是空密码,请重新输入')
    passwd = input("请输入您的密码:")
    length = len(passwd)
if length < 8:
    flag_len = 1
elif 8 < length <16:
    flag_len = 2
else:
    flag_len = 3
flag_con = 0
for each in symbols:
    if each in symbols:
        flag_con = flag_con + 1
        break
for each in chars:
    if each in chars:
        flag_con = flag_con + 1
        break
for each in nums:
    if each in nums:
        flag_con = flag_con + 1
        break
while 1:
    if flag_len == 1 or flag_con == 1:
        print("您的密码强度为低")
        
    elif flag_len == 3 and flag_con == 3  and (passwd[0] in chars):
        print("您的密码强度为高")
        break
    else:
        print("您的密码强度为中")
        print("请按照以下方法增强您的密码 \n 1. 密码必须由数字、字母及特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)三种组合 \n 2. 密码只能由字母开头 \n 3. 密码长度不能低于16位")
      
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-10-10 07:30:20 | 显示全部楼层
1、是的。只要不是while 0,你while 2020也是合理的,不过就是不太推荐这么写而已,一般都是while Ttue.

2、如果你的if分支是包含在while循环内部的,那就要加break。照你代码的情况来看是必须要break。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-9 11:18:28 | 显示全部楼层
我想请问一下  你这里判断是否拥有数字或字母 的代码  
for each in   是否应该是password   感觉不太对啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-17 02:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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