|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
import easygui as g
msg = "请填写以下联系方式"
title = "账号中心"
fields = ["*用户名","*真实姓名","固定电话","*手机号码","QQ","*E-mail"]
fieldvalues = []
fieldvalues = g.multenterbox(msg,title,fields)
while 1:
if fieldvalues == None:
break
errmsg = ""
for i in range(len(fields)):
option = fields[i].strip()
if fieldvalues[i].strip() =="" and option[0] == "*":
errmsg += ("【%s】为必填项。\n\n" % fields[i])
if errmsg == "":
break
fieldvalues = g.multenterbox(errmsg,title,fields,fieldvalues)
print("用户的资料如下:%s" % str(fieldvalues))
fieldvalues = g.multenterbox(errmsg,title,fields,fieldvalues) 括号里的fieldvalues是什么作用?
本帖最后由 小伤口 于 2021-3-21 10:32 编辑
最开始的fieldvalues = []
fieldvalues = g.multenterbox(msg,title,fields)
你可以在后面加上试着运行一下
当你什么都不输入时
它会返回==
['', '', '', '', '', '']
用户的资料如下:None
列表有6个值
由此可见
fieldvalues 就是装着每个选项输入的内容
然后试着把fieldvalues = g.multenterbox(errmsg,title,fields,fieldvalues)
中的,fieldvalues删掉
也就是这样import easygui as g
msg = "请填写以下联系方式"
title = "账号中心"
fields = ["*用户名","*真实姓名","固定电话","*手机号码","QQ","*E-mail"]
fieldvalues = []
fieldvalues = g.multenterbox(msg,title,fields)
print(fieldvalues)
while 1:
if fieldvalues == None:
break
errmsg = ""
for i in range(len(fields)):
option = fields[i].strip()
if fieldvalues[i].strip() =="" and option[0] == "*":
errmsg += ("【%s】为必填项。\n\n" % fields[i])
if errmsg == "":
break
fieldvalues = g.multenterbox(errmsg,title,fields)
print("用户的资料如下:%s" % str(fieldvalues))
运行第一次什么都不输入
第二次再填信息(但不填满)
点ok时
你会发现
之前输入的内容
又没了
至此可以发现fieldvalues = g.multenterbox(errmsg,title,fields,fieldvalues)
中的fieldvalues就是为了在你没有写完必填项时,保存你输入的信息
防止重复输入
有帮助的话给个最佳吧
|
|