第26讲,动动手那道题。求大神指导,感谢。
我写的代码如下:
def newuser(name):
if name in database:
name1 = input('此用户名已经使用,请重新输入1:')
password1 = input('请输入密码1:')
database=password1
else:
password1 = input('请输入密码2:')
database=password1
print('注册成功,赶紧试试登录吧2')
def signin(name):
if name in database:
if database == input('请输入密码3:'):
print('登录成功。3')
else:
print('密码错误3')
else:
name2 = input('您输入的用户名不存在,请重新输入4:')
password2 = input('请输入密码4:')
pwd = database.get(name2)
if password2 == pwd:
print('欢迎进入XXOO系统,请点右上角的X结束程序!4')
else:
print('密码错误!4')
database=dict()
a = '''
|--- 新建用户:N/n ---|
|--- 登录账号:E/e ---|
|--- 推出程序:Q/q ---|
|--- 请输入指令代码:'''
num = input(a)
name = input('请输入用户名:')
if num =='N' or 'n':
newuser(name)
if num == 'E' or 'e':
signin(name)
运行后的结果如下:
想问一下各位大神们,为什么会继续运行到‘输入密码3’,不是应该出来‘注册成功,赶紧试试登录吧2就’停止了嘛?
PS.我是小白一枚,第一次发帖求助,若有不周,请见谅,感谢{:5_92:}
程序是从上而下执行的,f num =='N' or 'n':
newuser(name)
if num == 'E' or 'e':
signin(name)
执行完头一个if,就往下执行下一个了。
如果不想这么顺序执行,可以写个while循环,当第一个if满足条件的时候,就break掉循环,不往下执行即可。 while True: #这加个循环,这样就会一直调用这里面的函数
num = input(a)
name = input('请输入用户名:')
if num =='N' or 'n':
newuser(name)
elif num == 'E' or 'e': #这里改成elif,如果num =='N' or 'n':的时候会执行下面的这条
signin(name)
不过你的程序是不是没写完啊?还有就是里面的其它好象也有些要修改,再调整一下吧。我也刚学了半个多月,不知道对不对,你先试试{:10_256:} https://fishc.com.cn/thread-180370-1-1.html
看下这篇帖子的回复
和你做的应该是同一个 heidern0612 发表于 2020-9-18 07:48
程序是从上而下执行的,
执行完头一个if,就往下执行下一个了。
感谢感谢{:5_91:} hellokz 发表于 2020-9-18 10:58
while True: #这加个循环,这样就会一直调用这里面的 ...
好哒呢~感谢{:5_91:} 疾风怪盗 发表于 2020-9-18 12:20
https://fishc.com.cn/thread-180370-1-1.html
看下这篇帖子的回复
和你做的应该是同一个
我好像明白啦~非常感谢~~{:5_91:} {:10_256:}{:10_256:}
页:
[1]