鱼C论坛

 找回密码
 立即注册
查看: 1731|回复: 2

[已解决]python 课后作业

[复制链接]
发表于 2021-3-20 16:26:30 | 显示全部楼层 |阅读模式

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

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

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 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[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就是为了在你没有写完必填项时,保存你输入的信息
防止重复输入

有帮助的话给个最佳吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-3-21 08:02:46 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
本帖最后由 小伤口 于 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[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就是为了在你没有写完必填项时,保存你输入的信息
防止重复输入

有帮助的话给个最佳吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-21 10:33:29 | 显示全部楼层
我好像明白你的意思了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-16 07:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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