为什么我的判断只能执行if,其他的都不会被执行???
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语句,哪里有毛病啊?
31行改为
ifn in ('N','n'):
后面的判断同样 单纯说循环的问题。
n = input('请输入指令代码:')应该放在while i:下面,否则while就一直循环,你没机会再给n赋值了,n也就是一直是你第一次输入的那个值。
你的if条件写错了
n == 'N'or'n' 的意思是 (n == 'N')or'n' 会先判断前面的相等比较,然后在于后面的'n'进行or运算,这样不管你输入的是什么,结果都是True。应该写作 (n == 'N')or(n=='n')或者 写作 n in ['N','n']
后面的几个if条件也是这个问题 hellokz 发表于 2020-9-18 10:26
单纯说循环的问题。
n = input('请输入指令代码:')应该放在while i:下面,否则while就一直循环,你没机会 ...
哦哦,懂了,while是后来加的,没考虑前面的
页:
[1]