实验目标是生成一个相关的txt文件,然后再txt文件内保存这些通讯录。如果什么都不填直接输入“ok”或者点击"Cancel"就把程序退出,如果带星号的项目没有填写就会提示“需要重新填写”。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
import
easygui as g
import
os
g.msgbox(
"欢迎来到本通讯录!"
,
" 账号中心"
)
while
1
:
msg
=
"姓名、手机号码和电邮地址都是必填项!"
title
=
"账号中心"
fields
=
[
"*用户名"
,
"*真实姓名"
,
"固定电话"
,
"手机号码"
,
"QQ"
,
"*电邮地址"
]
AAA
=
g.multenterbox(msg,title,fields)
if
AAA
=
=
['
', '
', '
', '
', '
', '
']
or
AAA
=
=
None
:
break
if
AAA[
0
]
=
=
'
' or AAA[1]=='
' or AAA[-1]=='
':
g.msgbox(
"有必须的信息没有填写,请重新填写"
)
continue
else
:
f
=
open
(
"e:/pythonaaa/a/999.txt"
,
"a+"
)
f.write(
str
(AAA))
f.write(
"\n"
)
f.close()
g.msgbox(
"保存成功!上次保存的信息是:"
+
str
(AAA))
continue
g.msgbox(
"期待您的下次使用!"
)
|
========================================分割线====================================
如果遇到了用户往里面输入空格想蒙混过关的情况,可以在上面的if~if~if中使用以下的语句
1
2
3
4
5
6
7
8
9
10
11
|
errmsg
=
""
for
i
in
range
(
len
(fieldNames)):
#如果已知列表长度,那么可以通过这个语句达到一个walk每一个列表内元素的目的#
option
=
fieldNames[i].strip()
#当输入中有空格的时候,把头和尾的空格去掉#
if
fieldValues[i].strip()
=
=
"":
errmsg
+
=
(
"【%s】为必填项。"
%
fieldNames[i])
if
errmsg
=
=
"":
break
fieldValues
=
g.multenterbox(errmsg,title,fieldNames,fieldValues)
#会在msg的位置上体现那里没有填满,并且不断增加#
|
本文转自 苏幕遮618 51CTO博客,原文链接:http://blog.51cto.com/chenx1242/1728419