为什么循环不停止?

2024-04-19 18:12:53 发布

您现在位置:Python中文网/ 问答频道 /正文

while True:
    password=input("Enter a password. Make sure it:\nContains at least 1 capital letter\nContains at least 6 letters\n")
    time.sleep(0.35)
    if len(password)>5 and password.islower=="False":
        break

你怎么停下来的。我希望它停止,如果它有一个大写字母,并超过6个字符。你知道吗


Tags: trueinputmaketimeitpasswordatleast
3条回答

此处:

password.islower=="False"

首先,您没有调用该方法—您需要添加paren—所以您将方法与字符串进行比较。永远不会是真的。。。你知道吗

那么,一旦你解决了这个问题:

password.islower() == "False"

最后将布尔值与字符串进行比较。它也永远不会是真的,您要与布尔值False(没有引号)进行比较:

password.islower() == False

最后一点,通常拼写为:

not passsword.islower()
if len(password)>5 and not password.islower():

或者

if len(password)>5 and password.islower() == False:

会有用的。你知道吗

因为islower不是一个属性,而是一个函数。请尝试以下操作:

not password.islower()

此外,如@Dan所述,您将islower()函数(布尔值)的结果与字符串"False"进行比较。在Python中,可以如上图所示直接使用布尔结果,而不必将其与字符串"False"(这是错误的)或布尔值False(这是奇怪和危险的)。^如果密码包含大写字符,{}将是True。你知道吗

相关问题 更多 >