鱼C论坛

 找回密码
 立即注册
查看: 738|回复: 5

[已解决]在if语句判断后,怎样跳到下一个if判断

[复制链接]
发表于 2020-4-26 11:44:22 | 显示全部楼层 |阅读模式

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

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

x
while 1:
    g.msgbox('嗨,欢迎进入李昊旻设计的系统^_^')
    cz = g.buttonbox(msg = '请选择登录还是注册', title = '登录系统',choices = ('登录','注册','退出'))
    if cz == '登录':
        load = look1()
        pd = g.multpasswordbox(msg = '请输入用户名和密码', title = '登录',fields = ('用户名','密码'))
        while pd[0] not in load:
            if g.indexbox(msg = '用户不存在',title = '消息框',choices = ('再试一次','去注册')):
                cz = '注册'
                break
            else:
                pd = g.multpasswordbox(msg = '请输入用户名和密码', title = '登录',fields = ('用户名','密码'))

        break
        while pd[1] != load[pd[0]]:
            if g.indexbox(msg = '密码不正确',title = '消息框',choices = ('再试一次','去注册')):
                break
            else:
                pd = g.multpasswordbox(msg = '请输入用户名和密码', title = '登录',fields = ('用户名','密码'))
        msg = '选择你要执行的操作'
        title = '通讯录'
        choices = ['查询联系人资料','插入新的联系人','删除已有的联系人','查看所有联系人','退出通讯录']
        choice = g.choicebox(msg, title, choices)
        g.msgbox('你的选择是:' + str(choice), '结果')
    elif cz == '注册':
        load = look1()
        new = g.multpasswordbox(msg = '请输入用户名和密码', title = '注册',fields = ('用户名','密码'))
        if new[0] in load:
            g.buttonbox(msg = '用户已存在',title = '消息框',choices = ('返回登录','重新注册'))





如代码中,我在第一个if里选择了登录,然后第二个if判断用户名不存在,之后选择了去注册,我应该怎么写才能跳转至elif cz == 注册,也就是注册的代码中
最佳答案
2020-4-26 12:18:42
把第14行的 break改为continue
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-26 11:51:08 | 显示全部楼层
把elif  改成if 就好,elif 的意思是只要前面有if 成立,就不会判断elif
while 1:
    g.msgbox('嗨,欢迎进入李昊旻设计的系统^_^')
    cz = g.buttonbox(msg = '请选择登录还是注册', title = '登录系统',choices = ('登录','注册','退出'))
    if cz == '登录':
        load = look1()
        pd = g.multpasswordbox(msg = '请输入用户名和密码', title = '登录',fields = ('用户名','密码'))
        while pd[0] not in load:
            if g.indexbox(msg = '用户不存在',title = '消息框',choices = ('再试一次','去注册')):
                cz = '注册'
                break
            else:
                pd = g.multpasswordbox(msg = '请输入用户名和密码', title = '登录',fields = ('用户名','密码'))

        break
        while pd[1] != load[pd[0]]:
            if g.indexbox(msg = '密码不正确',title = '消息框',choices = ('再试一次','去注册')):
                break
            else:
                pd = g.multpasswordbox(msg = '请输入用户名和密码', title = '登录',fields = ('用户名','密码'))
        msg = '选择你要执行的操作'
        title = '通讯录'
        choices = ['查询联系人资料','插入新的联系人','删除已有的联系人','查看所有联系人','退出通讯录']
        choice = g.choicebox(msg, title, choices)
        g.msgbox('你的选择是:' + str(choice), '结果')
    if cz == '注册':
        load = look1()
        new = g.multpasswordbox(msg = '请输入用户名和密码', title = '注册',fields = ('用户名','密码'))
        if new[0] in load:
            g.buttonbox(msg = '用户已存在',title = '消息框',choices = ('返回登录','重新注册'))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-26 12:01:22 | 显示全部楼层
Twilight6 发表于 2020-4-26 11:51
把elif  改成if 就好,elif 的意思是只要前面有if 成立,就不会判断elif

还是不行的,要不你就复制那一小段修改好后发我看看,拜托了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-26 12:18:42 | 显示全部楼层    本楼为最佳答案   
把第14行的 break改为continue
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-26 12:30:00 | 显示全部楼层
sunrise085 发表于 2020-4-26 12:18
把第14行的 break改为continue

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

使用道具 举报

发表于 2020-4-26 12:32:11 | 显示全部楼层

其实你的第9行,没用,可以删掉,因为continue之后,会在下一次循环中重新给cz赋值。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-26 20:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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