鱼C论坛

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

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

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

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

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

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

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






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

使用道具 举报

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

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

  13.         break
  14.         while pd[1] != load[pd[0]]:
  15.             if g.indexbox(msg = '密码不正确',title = '消息框',choices = ('再试一次','去注册')):
  16.                 break
  17.             else:
  18.                 pd = g.multpasswordbox(msg = '请输入用户名和密码', title = '登录',fields = ('用户名','密码'))
  19.         msg = '选择你要执行的操作'
  20.         title = '通讯录'
  21.         choices = ['查询联系人资料','插入新的联系人','删除已有的联系人','查看所有联系人','退出通讯录']
  22.         choice = g.choicebox(msg, title, choices)
  23.         g.msgbox('你的选择是:' + str(choice), '结果')
  24.     if cz == '注册':
  25.         load = look1()
  26.         new = g.multpasswordbox(msg = '请输入用户名和密码', title = '注册',fields = ('用户名','密码'))
  27.         if new[0] in load:
  28.             g.buttonbox(msg = '用户已存在',title = '消息框',choices = ('返回登录','重新注册'))
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

还是不行的,要不你就复制那一小段修改好后发我看看,拜托了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-26 12:18:42 | 显示全部楼层    本楼为最佳答案   
把第14行的 break改为continue
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

谢谢,成功了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

其实你的第9行,没用,可以删掉,因为continue之后,会在下一次循环中重新给cz赋值。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-18 06:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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