【发布时间】:2017-12-03 10:32:54
【问题描述】:
我正在尝试用 Python 制作一个简单的密码检查器。如果密码超过 1 个大小写字母并且长度超过 8 个字符,则它应该接受密码。但是当我运行它时,我从if 语句中得到了“不继续”选项。 if 语句有问题吗?
passwd1 = input("enter your password>>>")
passwd2 = input("re-enter your password>>>")
lower=0
upper=0
for i in passwd1:
if(i.islower()):
lower=lower+1
elif(i.isupper()):
upper=upper+1
if lower + upper >= 8 and lower<0 and upper<0 and passwd1 == passwd2:
print("continue")
else:
print("do not continue")
谢谢
【问题讨论】:
-
请确保您使用正确的脚本缩进。例如,循环内部条件的缩进在
if和else分支之间不一致。 -
例如,
lower<0怎么可能是真的?鉴于您从lower=0开始并且只会增加它,这似乎......不太可能。 -
@clemens - 您修改了代码块的缩进 - 这可能是 OP 正在处理的问题 - 将来,请不要在未先验证它的情况下从代码块进行编辑确实是 OP 的意图。
-
@Lix:不,我不会改变缩进深度。这不应该是错误。还有一些其他错误,例如
lower + upper >= 8。 -
@Lix:我没有说我没有改变缩进。我只是说它没有改变程序的语义。在这个程序中,你不能改变 for 循环的缩进,因为每个块只包含一个语句。
标签: python