John车俊林 发表于 2019-10-19 20:31:01

作业求助呀 不知道为什么总是发布出去,心累。

零基础入门学习python中026动动手尝试编写用户登录程序,我自己写的代码(没有用函数)如下:
tem={}
while True:
    print('|--- 新建用户:N/n ---|')
    print('|--- 登录账户:E/e ---|')
    print('|--- 退出程序:Q/q ---|')
    key=input('|--- 请输入指令代码: ')
    if key=='N' or 'n':
      name=input('请输入用户名: ')
      if name not in tem:
            tem=input('请输入密码: ')
            print('注册成功,赶紧试试吧.')
            continue
      else:
            name1=input('此用户名已经被使用,请重新输入: ')
            tem=input('请输入密码: ')
            print('注册成功,赶紧试试登录吧.')
            continue
    if key=='E' or 'e':
      name=input('请输入用户名: ')
      if name not in tem:
            name=input('您输入的用户不存在,请重新输入: ')
            if tem==input('请输入密码: '):
                print('欢迎进入系统.')
                continue
            else:
                print('输入密码错误.')
                break
            
      else:
            if tem==input('请输入密码: '):
                print('欢迎进入系统.')
                continue
            else:
                print('输入密码错误.')
                break
                     
    if key=='Q' or 'q':
      break
print('您已退出程序')
输入N(新建用户)可以正常进行其关于N的操作,输入E(登录账户)或Q(退出程序)却不能进行关于他们自己的操作,反而进行的是N所属的操作呢?能帮我看看代码错在哪儿吗?十分感谢。

zltzlt 发表于 2019-10-20 14:46:04

Python 不能偷懒,if key=='N' or 'n': 要改成 if key == 'N' or key == 'n': 等等

tem = {}
while True:
    print('|--- 新建用户:N/n ---|')
    print('|--- 登录账户:E/e ---|')
    print('|--- 退出程序:Q/q ---|')
    key = input('|--- 请输入指令代码: ')
    if key == 'N' or key == 'n':
      name = input('请输入用户名: ')
      if name not in tem:
            tem = input('请输入密码: ')
            print('注册成功,赶紧试试吧.')
            continue
      else:
            name1 = input('此用户名已经被使用,请重新输入: ')
            tem = input('请输入密码: ')
            print('注册成功,赶紧试试登录吧.')
            continue
    if key == 'E' or key == 'e':
      name = input('请输入用户名: ')
      if name not in tem:
            name = input('您输入的用户不存在,请重新输入: ')
            if tem == input('请输入密码: '):
                print('欢迎进入系统.')
                continue
            else:
                print('输入密码错误.')
                break

      else:
            if tem == input('请输入密码: '):
                print('欢迎进入系统.')
                continue
            else:
                print('输入密码错误.')
                break

    if key == 'Q' or key == 'q':
      break
print('您已退出程序')

18511353234 发表于 2019-10-20 16:06:50

支持楼上

John车俊林 发表于 2019-10-20 20:42:13

zltzlt 发表于 2019-10-20 14:46
Python 不能偷懒,if key=='N' or 'n': 要改成 if key == 'N' or key == 'n': 等等

哇出来啦,谢谢你呀!原来是这个小点没注意到,还纠结了很久。
页: [1]
查看完整版本: 作业求助呀 不知道为什么总是发布出去,心累。