一个“通讯簿”程序

wKioL1Z9Tz2SSig8AADRZ0BZgRo174.png

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


你可能感兴趣的:(python)