可以解释一下 while后面的吗 还有==“”是什么意思啊
import easygui as gmsg = "请填写以下联系方式"
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.strip()
if fieldValues.strip() == "" and option == "*":
errmsg += ('【%s】为必填项。\n\n' % fieldNames)
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.strip()# strip 去除字符串前后空格
if fieldValues.strip() == "" and option == "*":
# 这里判断当输入框带 * 号的你如果没有输入内容,那么就拼接入 errmsg 字符串中
errmsg += ('【%s】为必填项。\n\n' % fieldNames)
# 如果有带 * 号的没填写,那么就拼接入字符串中,那么一定不满足下面的 if 条件
# 将要重新循环,提示用户哪些需要必填
if errmsg == "":
# 判断 errmsg 是否为空字符串,如果为空字符串就说明,这边带 * 号的输入框都填写了
# 如果这不是空字符串,那么意思就是用户将带 * 号的输入框漏填了
break# 符合条件退出循环
fieldValues = g.multenterbox(errmsg, title, fieldNames, fieldValues)
# 这里就是重新提示哪些输入框为必填项,只有再 errmsg 不为空字符串时候才会提示
print("用户资料如下:%s" % str(fieldValues)) 本帖最后由 我真的是个好人 于 2020-7-28 17:47 编辑
while后面是个循环,while的条件是后面的条件不为0是执行里面的循环,这个1换成2,3,4,5,6,7,8,999999都是可以的,但是不能为0。==在python中表示比较前后是否相等,会返回布尔值,在python中的=不表示等于,而表示赋值 Twilight6 发表于 2020-7-28 17:33
看注释吧,哪不理解就继续问哈:
fieldValues = g.multenterbox(errmsg, title, fieldNames, fieldValues)
这左后一步不太明白啊, fieldNames,fieldValues两者是什么关系啊,为啥前面的 g.multenterbox没有 fieldValues,最后一步有啊 第五季 发表于 2020-7-28 21:35
fieldValues = g.multenterbox(errmsg, title, fieldNames, fieldValues)
这左后一步不太明白啊, fi ...
fieldNames 就是个列表呀,fieldValues 是接收 multenterbox 组件的输入框内容
为啥前面的 g.multenterbox没有 fieldValues
你应该要先理解 multenterbox 的参数作用,multenterbox 的第四个参数,就是设置输入框中的内容的
而这里的作用是为了保留你上次输入的内容还在输入框中,如果没有这个参数上次输入的内容就会清空
Twilight6 发表于 2020-7-28 21:49
fieldNames 就是个列表呀,fieldValues 是接收 multenterbox 组件的输入框内容
刚看了 明白了谢谢哥哥 爱你喔
页:
[1]