|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
小甲鱼给出的参考代码如下:
import easygui as g
msg = "请填写以下联系方式"
title = "账号中心"
fieldNames = [" *用户名", " *真实姓名", " 固定电话", " *手机号码", " QQ", " *E-mail"]
fieldValues = []
fieldValues = g.multenterbox(msg, title, fieldNames)
while 1:
if fieldValues == None:
break
#print('test')
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))
我不明白的地方在于,
'''while1:
if fieldValues == None:
break'''
这里的break到底有没有真正跳出循环。
因为第一个界面弹出时,我直接选择了ok,没有输入任何信息:
照理说,因为我没有输入任何信息,fieldValues的值应该是None没错,这时应该会触发break,跳出循环,但是却又弹出了一个窗口。
于是我在break之后放了一个print('test')[就是我在小甲鱼的代码中用#标出的],看看它到底有没有跳出while循环,但是在我什么都没有输入的情况下点了ok,仍然打印出了test,说明break被触发之后仍然没有跳出循环,我不明白这个break到底有什么作用,因此想请教大家。
本帖最后由 wuqramy 于 2020-3-3 09:32 编辑
它的返回值不是None!正确代码如下:
- while 1:
- if fieldValues == ['', '', '', '', '', '']:
- break
复制代码
|
|