注册 登录
编程论坛 Python论坛

判断 运算 password内设为“apple”,求大神指教

z13631440976 发布于 2016-03-10 20:09, 5394 次点击
为什么红色部分无法执行? 当number_bool 不为1 或2 时也不能执行红色部分 ,为什么?求大神指教
#password .py #判断password是否正确

password=input("plaese input the password\n")

print("Are you sure the password-"+password ,"is right ?\n") #确认password是否正确

number_bool=int(input("sure :'1',false :'2'\n")) # 是否需要更改 正确输入1 错误输入2
               
while number_bool==2: #确认需要更改
   
    password=input("please input the password again\n")   #在次输入password
   
    print("Are you sure the password-"+password ,"is right ?\n")  #再次确认

    number_bools=int(input("sure :'1',false :'2'\n"))

    if number_bools==1:

        number_bool+=1 #break
        
    elif number_bools==2:

        number_bool=2 #continu
    else :
        while number_bools!=1 or number_bools!=2:

            number_boolss=int(input("please input again :'1' or '2'\n"))

            if number_boolss==1:

                break
            
            elif number_boolss==2:

                number_bools=2

                break
            else :
                number_bools=number_boolss


if password=="apple" :

    print("logging on ...\n")

else :

    print("the password-"+password ,"is worry\n")
               
        
3 回复
#2
lonmaor2016-03-11 00:24
你的红色else部分,是与最近的if语句配对的。判断的是number_bools的值而不是你期望的number_bool
#3
z136314409762016-03-11 17:10
回复 2楼 lonmaor
但是
else 不是当 if、elif不成立时就会执行else吗?
就是说 当 number_bools不等于 1、2 时 else不就进入else 然后执行 while number_bools!=1 or number_bools!=2:

其中程序里的while number_bools!=1 or number_bools!=2: 不是else的条件语句、是while的条件语句


红色部分改成这样可以 当上面的还是不明白?
elif  number_bools!=1 or number_bools!=2:
      
        while number_bools!=1 or number_bools!=2:

            number_boolss=int(input("please input again :'1' or '2'\n"))

            if number_boolss==1:

                break
            
            elif number_boolss==2:

                number_bools=2

                break
            else :
                number_bools=number_boolss
  
                                             

[此贴子已经被作者于2016-3-11 17:22编辑过]

#4
z136314409762016-03-12 14:37
回复 3楼 z13631440976
已经明白了 谢谢了 大神
1