anhaozi 发表于 2020-9-18 10:37:48

这个if判断语句是不是写错了?为啥一直只执行if下面的,elif不判断啊

def login(name,password):
    name = input('请输入用户名:')
    if name not in dict1:
      name = input('您输入的用户名不存在,请重新输入:')
      password = input('请输入密码:')
      print('欢迎进入小花仙系统,请点击右上角的X结束程序!')
    elif name in dict1:
      password = input('请输入密码:')
      print('欢迎进入小花仙系统,请点击右上角的X结束程序!')

BngThea 发表于 2020-9-18 10:44:09

if语句块中没有更新dict1,加一句
dict1=password

hellokz 发表于 2020-9-18 11:43:18

你的def里面有name和pass的值,如果有的话函数里是可以调用的,但你这里面有name和password的赋值,是用不到的所以,你如果写函数的话我觉得def login():就可以了。

dict1 = ['test','123']
#因为你这里面没有dict的内容,我临时加了一个做比较用

while True:                                                               
#这帮你加了个循环,如果用户名不对会回来重新输入

    name = input('请输入用户名:')   
    if name not in dict1:
      print('您输入的用户名不存在,请重新输入:')
      continue   
        #输入的用户名不存在会返回循环

      #password = input('请输入密码:')--------------------------------------------------------这个可以不用,因为IF判断了如果包含了用户名了就会在else里输入密码了
      #print('欢迎进入小花仙系统,请点击右上角的X结束程序!') -------------------------同上
   
    else:
        #因为只有两个判断,所以else就可以了,elif也可以不过那样还要写一个条件,比较麻烦
      password = input('请输入密码:')
        #你这里只有一个password的输入,没有判断是不是与原密码相同,所以输入什么都可以过,如果要比对密码的话应该再加个IF判断一下密码是不是一致                                                                                 
      print('欢迎进入小花仙系统,请点击右上角的X结束程序!')
      break
        #退出循环
       
仅供参考。。。

sunrise085 发表于 2020-9-18 11:43:24

if():
   代码1
elif ():
    代码2
其实是:
if():
    代码1
else:
    if():
      代码2
执行了if就不会再执行else

yh6788 发表于 2020-9-18 16:10:02

def login(name,password):
    name = input('请输入用户名:')
    if not name in dict1:
      name = input('您输入的用户名不存在,请重新输入:')
      password = input('请输入密码:')
      print('欢迎进入小花仙系统,请点击右上角的X结束程序!')
    else:
      password = input('请输入密码:')
      print('欢迎进入小花仙系统,请点击右上角的X结束程序!')
页: [1]
查看完整版本: 这个if判断语句是不是写错了?为啥一直只执行if下面的,elif不判断啊