鱼C论坛

 找回密码
 立即注册
查看: 1546|回复: 6

[已解决]可以解释一下 while后面的吗 还有==“”是什么意思啊

[复制链接]
发表于 2020-7-28 15:25:43 | 显示全部楼层 |阅读模式

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

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

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))

最佳答案
2020-7-28 17:33:03
本帖最后由 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))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-28 17:33:03 | 显示全部楼层    本楼为最佳答案   
本帖最后由 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))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-28 17:44:40 | 显示全部楼层
本帖最后由 我真的是个好人 于 2020-7-28 17:47 编辑

while后面是个循环,while的条件是后面的条件不为0是执行里面的循环,这个1换成2,3,4,5,6,7,8,999999都是可以的,但是不能为0。==在python中表示比较前后是否相等,会返回布尔值,在python中的=不表示等于,而表示赋值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-28 21:35:55 | 显示全部楼层
Twilight6 发表于 2020-7-28 17:33
看注释吧,哪不理解就继续问哈:

fieldValues = g.multenterbox(errmsg, title, fieldNames, fieldValues)

这左后一步不太明白啊, fieldNames,fieldValues两者是什么关系啊,为啥前面的 g.multenterbox没有 fieldValues,最后一步有啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-28 21:49:32 | 显示全部楼层
第五季 发表于 2020-7-28 21:35
fieldValues = g.multenterbox(errmsg, title, fieldNames, fieldValues)

这左后一步不太明白啊, fi ...



fieldNames 就是个列表呀,fieldValues 是接收 multenterbox 组件的输入框内容

为啥前面的 g.multenterbox没有 fieldValues


你应该要先理解 multenterbox 的参数作用,multenterbox 的第四个参数,就是设置输入框中的内容的

而这里的作用是为了保留你上次输入的内容还在输入框中,如果没有这个参数上次输入的内容就会清空
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-28 21:56:30 | 显示全部楼层
Twilight6 发表于 2020-7-28 21:49
fieldNames 就是个列表呀,fieldValues 是接收 multenterbox 组件的输入框内容

刚看了 明白了  谢谢哥哥 爱你喔

点评

哈哈,如果问题已解决,记得设置下【最佳答案  发表于 2020-7-28 21:57
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-19 16:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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