import easygui as g
msg = "请填写以下联系方式"
title = "账号中心"
fieldNames = [" *用户名", " *真实姓名", " 固定电话", " *手机号码", " QQ", " *E-mail"]
fieldValues = []
fieldValues = g.multenterbox(msg, title, fieldNames)
while 1:
if fieldValues == None:
break
errmsg = ""
for i in range(len(fieldNames)):
option = fieldNames[i].strip()
if fieldValues[i].strip() == "" and option[0] == "*":
errmsg += ('【%s】为必填项。\n\n' % fieldNames[i])
if errmsg == "":
break
fieldValues = g.multenterbox(errmsg, title, fieldNames, fieldValues)
print("用户资料如下:%s" % str(fieldValues))
while 1:
if fieldValues == None:
break
errmsg = ""
for i in range(len(fieldNames)):
option = fieldNames[i].strip()
if fieldValues[i].strip() == "" and option[0] == "*":
errmsg += ('【%s】为必填项。\n\n' % fieldNames[i])
if errmsg == "":
break
fieldValues = g.multenterbox(errmsg, title, fieldNames, fieldValues)
按我的理解第一个break不是已经退出while了吗,第二个break是什么意思,求讲解
第一个 break 是在:
if fieldValues == None:
break
之下的,而 fieldValues 被赋值为 组件 multenterbox,该组件点击 Cancle 时候就会返回 None 给 fieldValues
所以第一个 break 是判断用户是否按下了 取消,按下即退出循环,而第二个:
是判断你是否全部输入合法内容,若字符串为空则说明你带 * 号的输入框内输入合法,则退出循环,不需要再重新进行输入
|