寻求得到帮助
请问零基础入门学习python中035中动动手1——实现一个用于登记用户账号信息的界面,源代码如下: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.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))
请问fieldValues同时赋予了两次值(即fieldValues = []和fieldValues = g.multenterbox(msg, title, fieldNames))的作用是什么呢?还有if fieldValues == None 这句代码是什么意思啊,fieldValues的什么才是为None呢? 请求得到回答,谢谢啦!
fieldValues = []这行不要也没问题啊 用户什么都不输入,就是none,这个应该是easygui里面是这样判断返回的,可以去看看它的源码 heboy18 发表于 2019-11-12 18:06
用户什么都不输入,就是none,这个应该是easygui里面是这样判断返回的,可以去看看它的源码
在这个程序里如果None是什么都不输入的话,是会跳出这个程序的。而实际上什么都没输按OK键后会继续弹出下一个对话框进行输入。所以这里 if fieldValues == None:下对应的break就失效了。所以我不是很理解 easygui里面是这样判断返回,你点击cancle取消,就是返回一个None,break是跳出当前层的循环,也就是while的循环。怎么会失效? heboy18 发表于 2019-11-13 11:56
easygui里面是这样判断返回,你点击cancle取消,就是返回一个None,break是跳出当前层的循环,也就是while的 ...
刚试了,是这样的,没有理解到是退出再返回None。谢谢你的解答
页:
[1]