鱼C论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 122|回复: 4

[已解决]想问下Python35课后作业easygui第1题 写一个用户登录的界面

[复制链接]
最佳答案
0 
发表于 2019-4-15 21:25:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
没看懂代码,求大神讲解一下
1 import easygui as g
2
3 msg = "请填写一下信息(其中带*号的项为必填项)"
4 title = "账号中心"
5 fieldNames = ["*用户名","*真实姓名","固定电话","*手机号码","QQ","*Email"]
6 fieldValues = []
7 fieldValues = g.multenterbox(msg,title,fieldNames)
8 #print(fieldValues)
9 while True:
10     if fieldValues == None :
11         break
12     errmsg = ""
13     for i in range(len(fieldNames)):
14         option = fieldNames[i].strip()
15         if fieldValues[i].strip() == "" and option[0] == "*":
16             errmsg += ("【%s】为必填项   " %fieldNames[i])
17     if errmsg == "":
18         break
19     fieldValues = g.multenterbox(errmsg,title,fieldNames,fieldValues)
20 print("您填写的资料如下:%s" %str(fieldValues))
最佳答案
2019-4-15 23:43:51
#判断用户是否按了取消按钮 若是这跳出循环(按取消按钮返回值是None)
9 while True:
10     if fieldValues == None :
11         break
12     errmsg = ""
#循环遍历fieldNames內的每个值,去掉头尾空格并且赋值给option
13     for i in range(len(fieldNames)):
14         option = fieldNames[i].strip()
#判断输入框里面是内容是否为空和每个option字符的第一个是否为* ,若条件成立,说明改行的输入框输入是必选框,但输入内容为空。然后将该值写入errmsg
15         if fieldValues[i].strip() == "" and option[0] == "*":
16             errmsg += ("【%s】为必填项   " %fieldNames[i])
#若是errmsg为空,说明全部必选项的输入框都有内容 ,跳出循环
17     if errmsg == "":
18         break
#有没有填写的输入框,重新生成一multenterbox

19     fieldValues = g.multenterbox(errmsg,title,fieldNames,fieldValues)
20 print("您填写的资料如下:%s" %str(fieldValues))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
1 
发表于 2019-4-15 23:27:50 From FishC Mobile | 显示全部楼层
multenterbox(msg='.', title=' ', fields=(), values=())

multenterbox() 为用户提供多个简单的输入框,要注意以下几点:

如果用户输入的值比选项少的话,则返回列表中的值用空字符串填充用户为输入的选项。
如果用户输入的值比选项多的话,则返回的列表中的值将截断为选项的数量。
如果用户取消操作,则返回域中的列表的值或者None值


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
31 
发表于 2019-4-15 23:37:46 | 显示全部楼层
哪里没有看懂呀?总不能每一行都给你标注吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
1 
发表于 2019-4-15 23:43:09 From FishC Mobile | 显示全部楼层
本帖最后由 做爱的烦恼 于 2019-4-15 23:44 编辑

应该是循环里面没懂吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
最佳答案
1 
发表于 2019-4-15 23:43:51 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
#判断用户是否按了取消按钮 若是这跳出循环(按取消按钮返回值是None)
9 while True:
10     if fieldValues == None :
11         break
12     errmsg = ""
#循环遍历fieldNames內的每个值,去掉头尾空格并且赋值给option
13     for i in range(len(fieldNames)):
14         option = fieldNames[i].strip()
#判断输入框里面是内容是否为空和每个option字符的第一个是否为* ,若条件成立,说明改行的输入框输入是必选框,但输入内容为空。然后将该值写入errmsg
15         if fieldValues[i].strip() == "" and option[0] == "*":
16             errmsg += ("【%s】为必填项   " %fieldNames[i])
#若是errmsg为空,说明全部必选项的输入框都有内容 ,跳出循环
17     if errmsg == "":
18         break
#有没有填写的输入框,重新生成一multenterbox

19     fieldValues = g.multenterbox(errmsg,title,fieldNames,fieldValues)
20 print("您填写的资料如下:%s" %str(fieldValues))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

小甲鱼强烈推荐上一条 /1 下一条

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号

GMT+8, 2019-6-20 04:59

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表