马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 test1 于 2017-7-21 18:06 编辑 symbols = r'''`!@#$%^&*()_+-=/*{}[]\|'";:/?,.<>'''
chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
nums = '0123456789'
passwd = input('请输入需要检查的密码组合:')
# 判断长度
length = len(passwd)
while (passwd.isspace() or length == 0) :
passwd = input("您输入的密码为空(或空格),请重新输入:")
#问题1 如果不符合输入要求,重新输入一个字符串,需要重新对其长度进行判断吧?
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("低") #问题2. 逻辑判断条件是否与要求一致?
elif flag_len == 2 or flag_con == 2 :
print("中") #问题3. 逻辑判断条件是否与要求一致?
else :
print("高")
print("请继续保持")
break
print("请按以下方式提升您的密码安全级别:\n\
\t1. 密码必须由数字、字母及特殊字符三种组合\n\
\t2. 密码只能由字母开头\n\
\t3. 密码长度不能低于16位'")
break
这是小甲鱼老师写的代码,确实能读懂了,现在我自己想改编一下
条件我读取pass.txt 循环里面的字符串,也判断长度和代表值,但是我一直解决了当前问题但感觉没处理好还是没达到自己理想的,我最终意思是
“比如我flag_con=1 包含特殊字符 flag_con=2包含小写字母, 这时我在pass.txt里面搜索,比如查到1qaz!QAZ 这时候1qaz!QAZ长度即大于8个字符又包含小写又包含特殊字符就打印出来,如果查到adbbs123这样就不打印,虽然包含了小写字母但是不包含特殊字符,这样就不打印 ”
问问鱼油帮忙解决,我也想学习学习到底是哪里的思路不对,下面是我的代码,后面也想不出了#!/usr/bin/env python
# -*- coding:utf-8 -*-
symbols = r'''`!@#$%^&*()_+-=/*{}[]\|'";:/?,.<
chars = 'abcdefghijklmnopqrstuvwxyz'
nums = '0123456789'
bigchars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
passwd = open(r'pass.txt','r')
for each in passwd.readlines():
length = len(each)
if length >= 9:
flag_len = 1
#print(flag_len)
flag_con = 0
#判断密码含有特殊字符
for x in each:
if x in symbols:
flag_con += 1
#print(flag_con)
#print(each.strip('\n'))
break
#判断密码含有小写字母
for x in each:
if x in chars:
flag_con += 1
#print(flag_con)
#print(each)
break
#判断密码含有数字
for x in each:
if x in nums:
flag_con += 1
#print(flag_con)
break
#判断密码含有大写字母
for x in each:
if x in bigchars:
flag_con += 1
#print(flag_con)
#print(x)
break
#print(each)
pass.txt123456
12345
5201314
a123456
1234567
12345678
123456789
123qwe
12345678a
a12345678
Aa888888
password
passw0rd
Passw0rd
p@ssw0rd
zaq!2WSX
zaq_3ed
1q2w3E4R
1q2w3e4r
2wsxCDE#
qwerasdf
!qazXSW2
@wsxZAQ1
xsw@ZAQ1
1234qwer
1234qwe
123qwe!@#
qwe123!@#
1qaz!QAZ
|