|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 1011279979 于 2018-8-3 10:21 编辑
在Python课后作业的答案中,碰到一个奇怪问题。如果将下面红色if语句缩进到for语句里面,弹出对话框中信息显示errmsg1不出现。
if语句的缩进应该不影响errmsg1的赋值,当它不为空时,应该会跳过这个if语句不执行。望高手予以解答
import easygui as g
msg = "请填写以下联系方式"
title = "账号中心"
fieldNames = [" *用户名", " *真实姓名", " 固定电话", " *手机号码", " QQ", " *E-mail"]
fieldValues = []
fieldValues = g.multenterbox(msg,title, fieldNames)
while 1:
if fieldValues == None:
break
errmsg1 = "" # 只是在此处设定一个空的函数
for i in range(len(fieldNames)):
option = fieldNames[i].strip()
if fieldValues[i].strip() == "" and option[0] == "*":
errmsg1 += ('【%s】为必填项。\n\n' % fieldNames[i])
if errmsg1 == "": # 代表一旦填完所有的信息,即可退出循环
break
fieldValues = g.multenterbox(errmsg1, title, fieldNames, fieldValues)
print("用户资料如下:%s" % str(fieldValues)) |
|