鱼C论坛

 找回密码
 立即注册
查看: 1804|回复: 3

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

[复制链接]
发表于 2019-10-19 20:31:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
零基础入门学习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[name]=input('请输入密码: ')
            print('注册成功,赶紧试试吧.')
            continue
        else:
            name1=input('此用户名已经被使用,请重新输入: ')
            tem[name1]=input('请输入密码: ')
            print('注册成功,赶紧试试登录吧.')
            continue
    if key=='E' or 'e':
        name=input('请输入用户名: ')
        if name not in tem:
            name=input('您输入的用户不存在,请重新输入: ')
            if tem[name]==input('请输入密码: '):
                print('欢迎进入系统.')
                continue
            else:
                print('输入密码错误.')
                break
            
        else:
            if tem[name]==input('请输入密码: '):
                print('欢迎进入系统.')
                continue
            else:
                print('输入密码错误.')
                break
                     
    if key=='Q' or 'q':
        break
print('您已退出程序')
输入N(新建用户)可以正常进行其关于N的操作,输入E(登录账户)或Q(退出程序)却不能进行关于他们自己的操作,反而进行的是N所属的操作呢?能帮我看看代码错在哪儿吗?十分感谢。
最佳答案
2019-10-20 14:46:04
Python 不能偷懒,if key=='N' or 'n': 要改成 if key == 'N' or key == 'n': 等等

  1. tem = {}
  2. while True:
  3.     print('|--- 新建用户:N/n ---|')
  4.     print('|--- 登录账户:E/e ---|')
  5.     print('|--- 退出程序:Q/q ---|')
  6.     key = input('|--- 请输入指令代码: ')
  7.     if key == 'N' or key == 'n':
  8.         name = input('请输入用户名: ')
  9.         if name not in tem:
  10.             tem[name] = input('请输入密码: ')
  11.             print('注册成功,赶紧试试吧.')
  12.             continue
  13.         else:
  14.             name1 = input('此用户名已经被使用,请重新输入: ')
  15.             tem[name1] = input('请输入密码: ')
  16.             print('注册成功,赶紧试试登录吧.')
  17.             continue
  18.     if key == 'E' or key == 'e':
  19.         name = input('请输入用户名: ')
  20.         if name not in tem:
  21.             name = input('您输入的用户不存在,请重新输入: ')
  22.             if tem[name] == input('请输入密码: '):
  23.                 print('欢迎进入系统.')
  24.                 continue
  25.             else:
  26.                 print('输入密码错误.')
  27.                 break

  28.         else:
  29.             if tem[name] == input('请输入密码: '):
  30.                 print('欢迎进入系统.')
  31.                 continue
  32.             else:
  33.                 print('输入密码错误.')
  34.                 break

  35.     if key == 'Q' or key == 'q':
  36.         break
  37. print('您已退出程序')
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-10-20 14:46:04 | 显示全部楼层    本楼为最佳答案   
Python 不能偷懒,if key=='N' or 'n': 要改成 if key == 'N' or key == 'n': 等等

  1. tem = {}
  2. while True:
  3.     print('|--- 新建用户:N/n ---|')
  4.     print('|--- 登录账户:E/e ---|')
  5.     print('|--- 退出程序:Q/q ---|')
  6.     key = input('|--- 请输入指令代码: ')
  7.     if key == 'N' or key == 'n':
  8.         name = input('请输入用户名: ')
  9.         if name not in tem:
  10.             tem[name] = input('请输入密码: ')
  11.             print('注册成功,赶紧试试吧.')
  12.             continue
  13.         else:
  14.             name1 = input('此用户名已经被使用,请重新输入: ')
  15.             tem[name1] = input('请输入密码: ')
  16.             print('注册成功,赶紧试试登录吧.')
  17.             continue
  18.     if key == 'E' or key == 'e':
  19.         name = input('请输入用户名: ')
  20.         if name not in tem:
  21.             name = input('您输入的用户不存在,请重新输入: ')
  22.             if tem[name] == input('请输入密码: '):
  23.                 print('欢迎进入系统.')
  24.                 continue
  25.             else:
  26.                 print('输入密码错误.')
  27.                 break

  28.         else:
  29.             if tem[name] == input('请输入密码: '):
  30.                 print('欢迎进入系统.')
  31.                 continue
  32.             else:
  33.                 print('输入密码错误.')
  34.                 break

  35.     if key == 'Q' or key == 'q':
  36.         break
  37. print('您已退出程序')
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-20 16:06:50 From FishC Mobile | 显示全部楼层
支持楼上
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-20 20:42:13 | 显示全部楼层
zltzlt 发表于 2019-10-20 14:46
Python 不能偷懒,if key=='N' or 'n': 要改成 if key == 'N' or key == 'n': 等等

哇  出来啦,谢谢你呀!原来是这个小点没注意到,还纠结了很久。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-20 20:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表