代码小白liu 发表于 2021-3-20 16:26:30

python 课后作业

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.strip()
      if fieldvalues.strip() =="" and option == "*":
            errmsg += ("【%s】为必填项。\n\n" % fields)
    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 08:02:46

本帖最后由 小伤口 于 2021-3-21 10:32 编辑

最开始的
fieldvalues = []
fieldvalues = g.multenterbox(msg,title,fields)
你可以在后面加上
print(fieldvalues)
试着运行一下
当你什么都不输入时
它会返回
==
['', '', '', '', '', '']
用户的资料如下: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.strip()
      if fieldvalues.strip() =="" and option == "*":
            errmsg += ("【%s】为必填项。\n\n" % fields)
    if errmsg == "":
            break
   
    fieldvalues = g.multenterbox(errmsg,title,fields)

print("用户的资料如下:%s" % str(fieldvalues))
运行第一次什么都不输入
第二次再填信息(但不填满)
点ok时
你会发现
之前输入的内容
又没了
至此可以发现
fieldvalues = g.multenterbox(errmsg,title,fields,fieldvalues)
中的fieldvalues就是为了在你没有写完必填项时,保存你输入的信息
防止重复输入

有帮助的话给个最佳吧{:10_254:}

小伤口 发表于 2021-3-21 10:33:29

我好像明白你的意思了{:10_254:}
页: [1]
查看完整版本: python 课后作业