我想做个筛选符合条件的密码的程序,就是不知道哪里出了问题,求大佬解答
import relowerRegex = re.compile('')
upperRegex = re.compile('')
digitRegex = re.compile('')
teshuzhifu = re.compile('[$#@]')
wrongRegex = re.compile('[^a-zA-Z0-9$#@]')
int(i) = 0
for a in range(3):
password = input('Enter your password:')
if lowerRegex.search(password) == None :i=i+1
if upperRegex.search(password) == None :i=i+1
if digitRegex.search(password) == None :i=i+1
if teshuzhifu.search(password) == None :i=i+1
if len(password)<12 and len(password)>8 :i=i+1
if(i >=5):
print("%s"%(password))
你这个吐槽的点太多了,
1、这句可以不用wrongRegex = re.compile('[^a-zA-Z0-9$#@]')
2、这句语法错误,不需要int()直接i=0即可int(i) = 0
改为:
i=0
3、这句意义不明,而且后续的语句没有缩进for a in range(3):
4、这里的这些判断反了,前面至少要加上not,而且判断后执行的语句要换行缩进
if lowerRegex.search(password) == None :
i=i+1
if upperRegex.search(password) == None :
i=i+1
if digitRegex.search(password) == None :
i=i+1
if teshuzhifu.search(password) == None :
i=i+1
改为:
if notlowerRegex.search(password) == None :
i=i+1
if notupperRegex.search(password) == None :
i=i+1
if not digitRegex.search(password) == None :
i=i+1
if notteshuzhifu.search(password) == None :
i=i+1 2012277033 发表于 2020-11-19 14:16
你这个吐槽的点太多了,
1、这句可以不用
2、这句语法错误,不需要int()直接i=0即可
我刚学,比较菜。。。。 2012277033 发表于 2020-11-19 14:16
你这个吐槽的点太多了,
1、这句可以不用
2、这句语法错误,不需要int()直接i=0即可
import re
lowerRegex = re.compile('')
upperRegex = re.compile('')
digitRegex = re.compile('')
teshuzhifu = re.compile('[$#@]')
i = 0
for a in range(3):
password = input('Enter your password:')
if notlowerRegex.search(password) == None :
i=i+1
if notupperRegex.search(password) == None :
i=i+1
if not digitRegex.search(password) == None :
i=i+1
if notteshuzhifu.search(password) == None :
i=i+1
if(i >=5):
print("%s"%(password))
好像输不出来想要的数。。。。。
学c的sjj 发表于 2020-11-20 20:45
import re
lowerRegex = re.compile('')
你这个改了之后只有4个条件加,我漏打那个判断长度的,将iflen(password)>8 :
i=i+1这样加上去,表示密码长度要大于8,这样符合上面的条件,就可以打印出你想要的。 2012277033 发表于 2020-11-21 00:29
你这个改了之后只有4个条件加,我漏打那个判断长度的,将这样加上去,表示密码长度要大于8,这样符合上面 ...
还是有点问题。。
Enter your password:ABd1234@1
Enter your password:657465
Enter your password:51541
51541
它输出的是我打的最后一位数。。。。
代码更改后import re
lowerRegex = re.compile('')
upperRegex = re.compile('')
digitRegex = re.compile('')
teshuzhifu = re.compile('[$#@]')
i = 0
for a in range(3):
password = input('Enter your password:')
if notlowerRegex.search(password) == None :
i=i+1
if notupperRegex.search(password) == None :
i=i+1
if not digitRegex.search(password) == None :
i=i+1
if notteshuzhifu.search(password) == None :
i=i+1
iflen(password)>8 :
i=i+1
if(i >=5):
print("%s"%(password))
学c的sjj 发表于 2020-11-21 11:35
还是有点问题。。
Enter your password:ABd1234@1
你这个是因为print放在for外面了,或者你的for是多余的,最终应该改成password = input('Enter your password:')
if notlowerRegex.search(password) == None :
i=i+1
if notupperRegex.search(password) == None :
i=i+1
if not digitRegex.search(password) == None :
i=i+1
if notteshuzhifu.search(password) == None :
i=i+1
iflen(password)>8 :
i=i+1
if(i >=5):
print("%s"%(password))或者你想测试三次的话,就改成这样:import re
lowerRegex = re.compile('')
upperRegex = re.compile('')
digitRegex = re.compile('')
teshuzhifu = re.compile('[$#@]')
i = 0
for a in range(3):
password = input('Enter your password:')
if notlowerRegex.search(password) == None :
i=i+1
if notupperRegex.search(password) == None :
i=i+1
if not digitRegex.search(password) == None :
i=i+1
if notteshuzhifu.search(password) == None :
i=i+1
iflen(password)>8 :
i=i+1
if(i >=5):
print("%s"%(password))
页:
[1]