标题:判断 运算 password内设为“apple”,求大神指教
只看楼主
z13631440976
Rank: 3Rank: 3
来 自:广州
等 级:论坛游侠
威 望:2
帖 子:40
专家分:118
注 册:2016-3-5
结帖率:100%
已结贴  问题点数:20 回复次数:3 
判断 运算 password内设为“apple”,求大神指教
为什么红色部分无法执行? 当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")
               
        
搜索更多相关主题的帖子: password apple please false 
2016-03-10 20:09
lonmaor
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:郑州
等 级:版主
威 望:75
帖 子:2637
专家分:6423
注 册:2007-11-27
得分:14 
你的红色else部分,是与最近的if语句配对的。判断的是number_bools的值而不是你期望的number_bool

从不知道到知道,到知道自己不知道,成长的道路上脚步深深浅浅
2016-03-11 00:24
z13631440976
Rank: 3Rank: 3
来 自:广州
等 级:论坛游侠
威 望:2
帖 子:40
专家分:118
注 册:2016-3-5
得分:0 
回复 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编辑过]

2016-03-11 17:10
z13631440976
Rank: 3Rank: 3
来 自:广州
等 级:论坛游侠
威 望:2
帖 子:40
专家分:118
注 册:2016-3-5
得分:0 
回复 3楼 z13631440976
已经明白了 谢谢了 大神
2016-03-12 14:37



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-462346-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.384920 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved