我正在尝试制作一个密码程序,该程序必须包含一个大写字母、一个小写字母和一个数字。 但是 if 语句似乎无法正常工作,每当我输入“Py11”之类的密码时,它都会显示密码被拒绝。
您好, 对于第一个循环,如果它是上层(不是),则您将在字母“h”中,否则您将运行密码拒绝部分(这就是问题)
为了完成你想要的,我建议像这样检查:
if condition1:
pass #add here the counting you are making
elif condition2:
pass #add here the counting you are making
elif condition3:
pass #add here the counting you are making
# [...]
else:
print("password denied")
并且对于您检查上限、下限、数字的条件,如果您想允许特殊字符,您还需要检查它们
其他方式你可以做到:
userpass= input('Enter a password with at least one uppercase letter, one lowercase letter, and one number: ')
uppercounter=0
lowercounter=0
numbercounter=0
for i in range(len(userpass)):
if userpass[i].isupper():
uppercounter=uppercounter+1
if userpass[i].islower():
lowercounter=lowercounter+1
if userpass[i].isnumeric():
numbercounter=numbercounter+1
if uppercounter == 0 or lowercounter == 0 or numbercounter == 0:
print("Password denied")
raise SystemExit(0)
这样你就不必检查其他特殊字符
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。