14讲课后作业密码安全性检查的while 1
请教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 == 3and (passwd in chars):
print("您的密码强度为高")
break
else:
print("您的密码强度为中")
print("请按照以下方法增强您的密码 \n 1. 密码必须由数字、字母及特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)三种组合 \n 2. 密码只能由字母开头 \n 3. 密码长度不能低于16位")
1、是的。只要不是while 0,你while 2020也是合理的,不过就是不太推荐这么写而已,一般都是while Ttue.
2、如果你的if分支是包含在while循环内部的,那就要加break。照你代码的情况来看是必须要break。 我想请问一下你这里判断是否拥有数字或字母 的代码
for each in 是否应该是password 感觉不太对啊
页:
[1]