fs0330 发表于 2020-9-18 05:24:03

第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:}

heidern0612 发表于 2020-9-18 07:48:12

程序是从上而下执行的,f num =='N' or 'n':
    newuser(name)
   
if num == 'E' or 'e':
    signin(name)

执行完头一个if,就往下执行下一个了。


如果不想这么顺序执行,可以写个while循环,当第一个if满足条件的时候,就break掉循环,不往下执行即可。

hellokz 发表于 2020-9-18 10:58:07

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:}

疾风怪盗 发表于 2020-9-18 12:20:58

https://fishc.com.cn/thread-180370-1-1.html
看下这篇帖子的回复
和你做的应该是同一个

fs0330 发表于 2020-9-19 04:28:54

heidern0612 发表于 2020-9-18 07:48
程序是从上而下执行的,

执行完头一个if,就往下执行下一个了。


感谢感谢{:5_91:}

fs0330 发表于 2020-9-19 04:29:39

hellokz 发表于 2020-9-18 10:58
while True:                                                    #这加个循环,这样就会一直调用这里面的 ...

好哒呢~感谢{:5_91:}

fs0330 发表于 2020-9-19 04:30:10

疾风怪盗 发表于 2020-9-18 12:20
https://fishc.com.cn/thread-180370-1-1.html
看下这篇帖子的回复
和你做的应该是同一个

我好像明白啦~非常感谢~~{:5_91:}

wzdr 发表于 2020-9-19 06:48:56

{:10_256:}{:10_256:}
页: [1]
查看完整版本: 第26讲,动动手那道题。求大神指导,感谢。