鱼C论坛

 找回密码
 立即注册
查看: 1228|回复: 1

[已解决]Python第26讲课后题求解

[复制链接]
发表于 2021-11-10 19:00:03 | 显示全部楼层 |阅读模式

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

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

x
  1. def user():
  2.     dict1={}
  3.     l=True
  4.     while l:
  5.         print('|---新建用户:N/n---|')
  6.         print('|---登陆账号:E/e---|')
  7.         print('|---退出程序:Q/q---|')
  8.         dima=str(input('|---请输入指定代码:'))
  9.         if dima== 'n' or 'N':
  10.             name=input('请输入用户名:')
  11.             if name in dict1:
  12.                 name=input('该用户已被使用,请重新输入:')
  13.                 mima=input('请输入密码:')
  14.                 dict1[name]=mima
  15.                 print('注册成功,赶紧试试登陆吧^_^')
  16.             else:
  17.                 mima=input('请输入密码:')
  18.                 dict1[name]=mima
  19.                 print('注册成功,赶紧试试登陆吧^_^')
  20.         elif dima== 'e' or 'E':
  21.             name=input('请输入用户名:')
  22.             if name in dict1:
  23.                 mima=input('请输入密码:')
  24.                 if mima==dict1[name]:
  25.                     print('欢迎进入XXOO系统,请点击右上角X结束程序!')
  26.                 else:
  27.                     print('您输入的密码错误!')
  28.             else:
  29.                 name=input('您输入的用户不存在,请重新输入:')
  30.                 mima=input('请输入密码:')
  31.                 if mima==dict1[name]:
  32.                     print('欢迎进入XXOO系统,请点击右上角X结束程序!')
  33.                 else:
  34.                     print('您输入的密码错误!')
  35.         elif dima== 'q' or 'Q':
  36.             l=False
  37.     print('您已退出XXOO程序!')

  38. user()
复制代码


为什么不管我输入什么都在循环执行注册环节????
请大神解答
最佳答案
2021-11-10 21:10:58
所有的dima判断,如: if dima== 'n' or 'N',都改成 if dima in 'nN':
现在的判断逻辑是错的,if dima== 'n' or 'N'   等同于 if (dima=='n') or ('N'),  dima=='n' 和 'N' 成了或关系,如果输入不为n,那么执行'N', 不为0,所以if永久成立,所以if没有起作用。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-11-10 21:10:58 | 显示全部楼层    本楼为最佳答案   
所有的dima判断,如: if dima== 'n' or 'N',都改成 if dima in 'nN':
现在的判断逻辑是错的,if dima== 'n' or 'N'   等同于 if (dima=='n') or ('N'),  dima=='n' 和 'N' 成了或关系,如果输入不为n,那么执行'N', 不为0,所以if永久成立,所以if没有起作用。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-1 06:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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