lf2 发表于 2020-2-11 11:49:52

新手求助!

dict1 = {}
while 1:
    print('|---新建用户:N/n---|')
    print('|---登陆账号:E/e---|')
    print('|---退出程序:Q/q---|')
    mark = input('|---请输入指令代码:')
    if mark == 'N' or 'n':
      name = input('请输入用户名:')
      if name in dict1:
            namenew = input('此用户名已经被使用,请重新输入:')
            passwd = input('请输入密码:')
            dict1 = passwd
      else:
            password = input('请输入密码:')
            dict1 = password
            print('注册成功,赶紧试试登陆吧!')
    elif mark == 'E' or 'e':
      name = input('请输入用户名:')
      if name not in dict1:
            name = input('您输入的用户名不存在,请重新输入:')
      else:
            psw = input('请输入密码:')
            if psw not in dict1:
                print('密码错误!')
            else:
                print('欢迎进入系统,请点右上角的x结束程序!')
                break
    elif mark == 'Q' or 'q':
      print('程序退出')
      break
    else:
      name = input('代码输入错误,请重新输入:')
      

哪里出问题了,为什么输入N注册完后,输入E登陆时会出现在第一个if的循环?

XiaoPaiShen 发表于 2020-2-12 05:35:17

本帖最后由 XiaoPaiShen 于 2020-2-12 05:38 编辑

第七行不对,改为   if mark == 'N' or mark == 'n':
或if mark.upper() == 'N':
后面还有几处需要修改...

dict1 = {}
while 1:
    print('|---新建用户:N/n---|')
    print('|---登陆账号:E/e---|')
    print('|---退出程序:Q/q---|')
    mark = input('|---请输入指令代码:')
    if mark.upper() == 'N':
      name = input('请输入用户名:')
      if name in dict1:
            namenew = input('此用户名已经被使用,请重新输入:')
            passwd = input('请输入密码:')
            dict1 = passwd
      else:
            password = input('请输入密码:')
            dict1 = password
            print('注册成功,赶紧试试登陆吧!')
    elif mark.upper() == 'E':
      name = input('请输入用户名:')
      if name not in dict1:
            name = input('您输入的用户名不存在,请重新输入:')
      else:
            psw = input('请输入密码:')
            if psw not in dict1:
                print('密码错误!')
            else:
                print('欢迎进入系统,请点右上角的x结束程序!')
                break
    elif mark.upper() == 'Q':
      print('程序退出')
      break
    else:
      name = input('代码输入错误,请重新输入:')
      
页: [1]
查看完整版本: 新手求助!