实验目标是生成一个相关的txt文件,然后再txt文件内保存这些通讯录。如果什么都不填直接输入“ok”或者点击"Cancel"就把程序退出,如果带星号的项目没有填写就会提示“需要重新填写”。
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中使用以下的语句
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的位置上体现那里没有填满,并且不断增加#