本帖最后由 sunrise085 于 2020-8-6 18:08 编辑
第18、24、26、27、28行小问题进行了修改,并分别进行了注释。
import easygui as g
#第一界面 *用户名 *真实姓名 固定电话 *手机号码 QQ *E-mail
msg = '请填写以下信息(打※必填)'
title = '信息记录'
fieldleft = ['*用户名','*真实姓名','固定电话','*手机号码','QQ','*E-mail']
fieldright = []
fieldright = g.multenterbox(msg,title,fieldleft)
#循环如果是带 * 号的必填项,要求一定要有输入并且不能是空格
#三种情况 1离开 2*没填 输入为空格 3正常输入
while 1:
if fieldright == None :
g.msgbox('再见')
break
err = ''
for i in range(len(fieldleft)):#错误1、for循环的i是个临时变量,不能放在[ ]内,变量名中不能有中括号
flag = fieldleft[i].strip()
if fieldright[i].strip() == '' and flag[0]== '*':
err += ('%s是必填项不能为空 \n\n' % fieldleft[i])
if err == '':
break
fieldright = g.multenterbox(err,title,fieldleft,fieldright)#可以改进1、第一个参数应该写err,不该再写msg,另外应该把value加上,已经填写过的内容就不用重复输入了
fieldprint = '' #可以改进2、fieldprint直接写成字符串,会更好看一些
for i in range(len(fieldleft)): #这里和18行错误一样
fieldprint += fieldleft[i]+':'+fieldright[i]+'\n' #可以改进3、这里结合上面的定义进行了简单修改
print('您的信息为:\n',fieldprint)
|