实验目标是生成一个相关的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的位置上体现那里没有填满,并且不断增加#