|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
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[0] == "*":
errmsg += ('【%s】为必填项。\n\n' % fieldNames)
if errmsg == "":
break
fieldValues = g.multenterbox(errmsg, title, fieldNames, fieldValues)
问题:
while 1循环在的作用
另外,麻烦注释一下这个循环
fieldValues = g.multenterbox(errmsg, title, fieldNames, fieldValues) 最后这个条语句的效果是什么?
print("用户资料如下:%s" % str(fieldValues))
本帖最后由 thexiosi 于 2018-5-7 11:27 编辑
hi 代码中存在bug,具体情况见下
- 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() # 错误代码是 option = fieldNames.strip() ,当前代码已修正
- if fieldValues[i].strip() == "" and option[0] == "*": #错误代码是 fieldValues.strip(),当前代码已修正
- errmsg += ('【%s】为必填项。\n\n' % fieldNames[i]) #错误代码是 fieldNames,当前代码已修正
- if errmsg == "":
- break
- fieldValues = g.multenterbox(errmsg, title, fieldNames, fieldValues)
- print("用户资料如下:%s" % str(fieldValues))
复制代码
while 1循环的作用 # 若带*的必填项为空,提示用户输入 且 不退出while循环,直到所有 * 项都填入
fieldValues = g.multenterbox(errmsg, title, fieldNames, fieldValues) #重新显示multenterbox,显示情况随 fieldValues的变化而变化
建议运行代码,调试过程中进行熟悉理解
|
|