鱼C论坛

 找回密码
 立即注册
查看: 1319|回复: 4

[已解决]为什么我的判断只能执行if,其他的都不会被执行???

[复制链接]
发表于 2020-9-18 09:43:47 | 显示全部楼层 |阅读模式

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

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

x
def signup(name,password):
    name = input('请输入用户名:')
    if name in dict1:
        name = input('此用户名已经被使用,请重新输入:')
        password = input('请输入密码:')
        print('注册成功,赶紧试试登陆吧!^_^')
    else:
        password = input('请输入密码:')
        print('注册成功,赶紧试试登陆吧!^_^')
        
def login(name,password):
    name = input('请输入用户名:')
    if name not in dict1:
        name = input('您输入的用户名不存在,请重新输入:')
        password = input('请输入密码:')
        print('欢迎进入小花仙系统,请点击右上角的X结束程序!')
    else:
        password = input('请输入密码:')
        print('欢迎进入小花仙系统,请点击右上角的X结束程序!')

print('''
|--- 新建用户:N/n ---|
|--- 登陆账号:E/e ---|
|--- 退出程序:Q/q ---|''')
n = input('请输入指令代码:')
name = ''
password = ''
dict1 = {}
i = 1
while i:
    if n == 'N'or'n':
        signup(name,password)
    elif n == 'E' or 'e':
        login(name,password)
    elif n == 'Q'or'q':
        print('拜拜哦,祝您生活愉快!')
        sys.exit() 
    else:
        print('不乖哦,有没有认真看上面的注释啊!') #就是这部分以上的if语句,哪里有毛病啊?
    
最佳答案
2020-9-18 10:27:45
你的if条件写错了
n == 'N'or'n' 的意思是 (n == 'N')or'n' 会先判断前面的相等比较,然后在于后面的'n'进行or运算,这样不管你输入的是什么,结果都是True。应该写作 (n == 'N')or  (n=='n')  或者 写作 n in ['N','n']

后面的几个if条件也是这个问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-9-18 10:19:50 | 显示全部楼层
31行改为
if  n in ('N','n'):
后面的判断同样
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-18 10:26:30 | 显示全部楼层
单纯说循环的问题。
n = input('请输入指令代码:')应该放在while i:下面,否则while就一直循环,你没机会再给n赋值了,n也就是一直是你第一次输入的那个值。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-18 10:27:45 | 显示全部楼层    本楼为最佳答案   
你的if条件写错了
n == 'N'or'n' 的意思是 (n == 'N')or'n' 会先判断前面的相等比较,然后在于后面的'n'进行or运算,这样不管你输入的是什么,结果都是True。应该写作 (n == 'N')or  (n=='n')  或者 写作 n in ['N','n']

后面的几个if条件也是这个问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-18 10:29:23 | 显示全部楼层
hellokz 发表于 2020-9-18 10:26
单纯说循环的问题。
n = input('请输入指令代码:')应该放在while i:下面,否则while就一直循环,你没机会 ...

哦哦,懂了,while是后来加的,没考虑前面的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-18 16:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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