鱼C论坛

 找回密码
 立即注册
查看: 977|回复: 2

小白求助

[复制链接]
发表于 2021-8-9 13:07:47 | 显示全部楼层 |阅读模式

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

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

x
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[name]=passw
                print('注册成功,赶紧试试登陆吧^-^')
                break
            else:
                passw = input('请输入密码:')
                dict1[name]=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[name]:
                        print('密码输入错误')
                        continue
                    else:
                        print('欢迎进入XXOO系统,请点击右上角X结束程序!')
                        break
               
                    
            

    if Char == 'Q' or 'q':
        break
想请教一下各位,为什么这段代码我输入Q/q或是E/e执行的还是N/n的那段程序呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-9 16:54:48 | 显示全部楼层
or的用法错了
短路逻辑全为真了

  1. dict1={}
  2. while 1:   
  3.     print('|---新建用户:N/n---|')
  4.     print('|---登陆账号:E/e---|')
  5.     print('|---退出程序:Q/q---|')
  6.     Char=input('|---请输入指令代码:')
  7.     if Char == 'N' or Char =='n':
  8.         name =  input('请输入用户名:')
  9.         while 1:
  10.             if name in dict1:
  11.                 name = input('此用户名已经被使用,请重新输入:')
  12.                 continue
  13.                 passw = input('请输入密码:')
  14.                 dict1[name]=passw
  15.                 print('注册成功,赶紧试试登陆吧^-^')
  16.                 break
  17.             else:
  18.                 passw = input('请输入密码:')
  19.                 dict1[name]=passw
  20.                 print('注册成功,赶紧试试登陆吧^-^')
  21.                 break   

  22.     if Char == 'e' or Char =='E':
  23.         name = input('请输入用户名:')
  24.         while 1:
  25.             if name not in dict1:
  26.                 name = input('您输入的用户名不存在,请重新输入:')
  27.                 continue
  28.             else:
  29.                 while 1:
  30.                     passw = input('请输入密码:')  
  31.                     if passw == dict1[name]:
  32.                         print('密码输入错误')
  33.                         continue
  34.                     else:
  35.                         print('欢迎进入XXOO系统,请点击右上角X结束程序!')
  36.                         break
  37.                
  38.                     
  39.             

  40.     if Char == 'Q' or Char =='q':
  41.         break
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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语句的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-4 22:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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