鱼C论坛

 找回密码
 立即注册
查看: 1324|回复: 7

[已解决]第26讲,动动手那道题。求大神指导,感谢。

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

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

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

x


我写的代码如下:
def newuser(name):
    if name in database:
        name1 = input('此用户名已经使用,请重新输入1:')
        password1 = input('请输入密码1:')
        database[name1]=password1
    else:
        password1 = input('请输入密码2:')
        database[name]=password1
        print('注册成功,赶紧试试登录吧2')
        
   
def signin(name):
    if name in database:
        if database[name] == 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)
   
运行后的结果如下:
屏幕快照 2020-09-17 下午5.17.05.png

想问一下各位大神们,为什么会继续运行到‘输入密码3’,不是应该出来‘注册成功,赶紧试试登录吧2就’停止了嘛?
PS.我是小白一枚,第一次发帖求助,若有不周,请见谅,感谢

最佳答案
2020-9-18 12:20:58
https://fishc.com.cn/thread-180370-1-1.html
看下这篇帖子的回复
和你做的应该是同一个
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-9-18 07:48:12 | 显示全部楼层
程序是从上而下执行的,
f num =='N' or 'n':
    newuser(name)
   
if num == 'E' or 'e':
    signin(name)

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


如果不想这么顺序执行,可以写个while循环,当第一个if满足条件的时候,就break掉循环,不往下执行即可。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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)

不过你的程序是不是没写完啊?还有就是里面的其它好象也有些要修改,再调整一下吧。我也刚学了半个多月,不知道对不对,你先试试
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-18 12:20:58 | 显示全部楼层    本楼为最佳答案   
https://fishc.com.cn/thread-180370-1-1.html
看下这篇帖子的回复
和你做的应该是同一个
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-19 04:28:54 | 显示全部楼层
heidern0612 发表于 2020-9-18 07:48
程序是从上而下执行的,

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

感谢感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-19 04:29:39 | 显示全部楼层
hellokz 发表于 2020-9-18 10:58
while True:                                                    #这加个循环,这样就会一直调用这里面的 ...

好哒呢~感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-19 04:30:10 | 显示全部楼层
疾风怪盗 发表于 2020-9-18 12:20
https://fishc.com.cn/thread-180370-1-1.html
看下这篇帖子的回复
和你做的应该是同一个

我好像明白啦~非常感谢~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-19 06:48:56 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-18 13:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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