Mrtu 发表于 2021-8-9 13:07:47

小白求助

dict1={}
while 1:   
    print('|---新建用户:N/n---|')
    print('|---登陆账号:E/e---|')
    print('|---退出程序:Q/q---|')
    Char=input('|---请输入指令代码:')
    if Char == 'N' or 'n':
      name =input('请输入用户名:')
      while 1:
            if name in dict1:
                name = input('此用户名已经被使用,请重新输入:')
                continue
                passw = input('请输入密码:')
                dict1=passw
                print('注册成功,赶紧试试登陆吧^-^')
                break
            else:
                passw = input('请输入密码:')
                dict1=passw
                print('注册成功,赶紧试试登陆吧^-^')
                break   

    if Char == 'e' or 'E':
      name = input('请输入用户名:')
      while 1:
            if name not in dict1:
                name = input('您输入的用户名不存在,请重新输入:')
                continue
            else:
                while 1:
                  passw = input('请输入密码:')
                  if passw == dict1:
                        print('密码输入错误')
                        continue
                  else:
                        print('欢迎进入XXOO系统,请点击右上角X结束程序!')
                        break
               
                  
            

    if Char == 'Q' or 'q':
      break
想请教一下各位,为什么这段代码我输入Q/q或是E/e执行的还是N/n的那段程序呢?

逃兵 发表于 2021-8-9 16:54:48

or的用法错了
短路逻辑全为真了

dict1={}
while 1:   
    print('|---新建用户:N/n---|')
    print('|---登陆账号:E/e---|')
    print('|---退出程序:Q/q---|')
    Char=input('|---请输入指令代码:')
    if Char == 'N' or Char =='n':
      name =input('请输入用户名:')
      while 1:
            if name in dict1:
                name = input('此用户名已经被使用,请重新输入:')
                continue
                passw = input('请输入密码:')
                dict1=passw
                print('注册成功,赶紧试试登陆吧^-^')
                break
            else:
                passw = input('请输入密码:')
                dict1=passw
                print('注册成功,赶紧试试登陆吧^-^')
                break   

    if Char == 'e' or Char =='E':
      name = input('请输入用户名:')
      while 1:
            if name not in dict1:
                name = input('您输入的用户名不存在,请重新输入:')
                continue
            else:
                while 1:
                  passw = input('请输入密码:')
                  if passw == dict1:
                        print('密码输入错误')
                        continue
                  else:
                        print('欢迎进入XXOO系统,请点击右上角X结束程序!')
                        break
               
                  
            

    if Char == 'Q' or Char =='q':
      break

灰晨 发表于 2021-8-9 16:57:16

if Char == 'N' or 'n':
if Char == 'e' or 'E':
改一下
if Char == 'N' or Char =='n':
if Char == 'e' or Char =='E':
不然if Char == 'N' or 'n':相当于if Char == 'N' or true:
只会执行第一个if语句的
页: [1]
查看完整版本: 小白求助