鱼C论坛

 找回密码
 立即注册
查看: 1049|回复: 2

[已解决]python easygui 代码求助

[复制链接]
发表于 2020-8-6 16:01:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 藤泽新社 于 2020-8-6 17:40 编辑

想问问大佬这段里有哪些错误啊

#打开easygui
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)):
        flag = fieldleft[i].strip()
        if fieldright[i].strip() == '' and flag[0]== '*':
            err += ('%s是必填项不能为空 \n\n' % fieldleft[i])
    if err == '':
        break
    fieldright = g.multenterbox(msg,title,fieldleft)

fieldprint = []
for [i] in range(len(fieldleft)):  
    fieldprint += (fieldleft[i],':',fieldright[i],'\n\n')
   
print('您的信息为',fieldprint)
        
最佳答案
2020-8-6 17:48:09
本帖最后由 Twilight6 于 2020-8-6 17:49 编辑



for 循环 i 不能写成 [ i]

第二个的 fieldright 的 msg属性应该是 err 而不是 msg
# 打开easygui
import easygui as g

# 第一界面 *用户名  *真实姓名   固定电话  *手机号码   QQ  *E-mail
msg = '请填写以下信息(打※必填)'
title = '信息记录'
fieldleft = ['*用户名', '*真实姓名', '固定电话', '*手机号码', 'QQ', '*E-mail']
fieldright = g.multenterbox(msg, title, fieldleft)

# 循环如果是带 * 号的必填项,要求一定要有输入并且不能是空格
# 三种情况 1离开 2*没填 输入为空格 3正常输入
while 1:
    if fieldright == None:
        g.msgbox('再见')
        break

    err = ''
    for i in range(len(fieldleft)):
        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)

fieldprint = []
for i in range(len(fieldleft)):
    fieldprint += (fieldleft[i], ':', fieldright[i], '\n\n')

print('您的信息为', fieldprint)
截屏2020-08-0615.53.26.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-6 17:48:09 | 显示全部楼层    本楼为最佳答案   
本帖最后由 Twilight6 于 2020-8-6 17:49 编辑



for 循环 i 不能写成 [ i]

第二个的 fieldright 的 msg属性应该是 err 而不是 msg
# 打开easygui
import easygui as g

# 第一界面 *用户名  *真实姓名   固定电话  *手机号码   QQ  *E-mail
msg = '请填写以下信息(打※必填)'
title = '信息记录'
fieldleft = ['*用户名', '*真实姓名', '固定电话', '*手机号码', 'QQ', '*E-mail']
fieldright = g.multenterbox(msg, title, fieldleft)

# 循环如果是带 * 号的必填项,要求一定要有输入并且不能是空格
# 三种情况 1离开 2*没填 输入为空格 3正常输入
while 1:
    if fieldright == None:
        g.msgbox('再见')
        break

    err = ''
    for i in range(len(fieldleft)):
        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)

fieldprint = []
for i in range(len(fieldleft)):
    fieldprint += (fieldleft[i], ':', fieldright[i], '\n\n')

print('您的信息为', fieldprint)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-6 18:07:08 | 显示全部楼层
本帖最后由 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)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-19 14:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表