|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
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))
本帖最后由 Twilight6 于 2020-7-28 17:36 编辑
看注释吧,哪不理解就继续问哈:
import easygui as g
msg = "请填写以下联系方式"
title = "账号中心"
fieldNames = [" *用户名", " *真实姓名", " 固定电话", " *手机号码", " QQ", " *E-mail"]
fieldValues = []
fieldValues = g.multenterbox(msg, title, fieldNames)
# 当你点击 x 关闭,或者 Cencle 取消时 multenterbox 组件返回的就是 None
while 1:
if fieldValues == None:
# 这里是判断用户是否点击了上面的 x ,或者 Cencle,如果是,那么退出循环,即退出程序
break
errmsg = "" # 初始化一个变量,用于 if 判断和显示提示
for i in range(len(fieldNames)):
option = fieldNames[i].strip() # strip 去除字符串前后空格
if fieldValues[i].strip() == "" and option[0] == "*":
# 这里判断当输入框带 * 号的你如果没有输入内容,那么就拼接入 errmsg 字符串中
errmsg += ('【%s】为必填项。\n\n' % fieldNames[i])
# 如果有带 * 号的没填写,那么就拼接入字符串中,那么一定不满足下面的 if 条件
# 将要重新循环,提示用户哪些需要必填
if errmsg == "":
# 判断 errmsg 是否为空字符串,如果为空字符串就说明,这边带 * 号的输入框都填写了
# 如果这不是空字符串,那么意思就是用户将带 * 号的输入框漏填了
break # 符合条件退出循环
fieldValues = g.multenterbox(errmsg, title, fieldNames, fieldValues)
# 这里就是重新提示哪些输入框为必填项,只有再 errmsg 不为空字符串时候才会提示
print("用户资料如下:%s" % str(fieldValues))
|
|