实验目标是生成一个相关的txt文件,然后再txt文件内保存这些通讯录。如果什么都不填直接输入“ok”或者点击"Cancel"就把程序退出,如果带星号的项目没有填写就会提示“需要重新填写”。

import easygui as gimport osg.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))        continueg.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的位置上体现那里没有填满,并且不断增加#