SyntaxError__ 2021-11-05 20:07 采纳率: 75%
浏览 42
已结题

为什么msg没有定义,是范围的问题吗,if里面的东西无法作用于外面吗?

import easygui as g
message="【真实姓名】为必填项。
手机号码】为必填项。




```【*E-mail】为必填项。"
text=['*用户名','*真实姓名','固定电话','*手机号码','QQ','*E-mail']
multenter=g.multenterbox(msg=message,title="请如实填写信息",fields=text)
while multenter!= None:
    if text[0]=="":
        msg="用户民不能为空"
    if text[1]==“":
        msg="真实姓名不能为空"
    if text[3]=="":
        msg="手机号码不能为空"
    if text[5]=="
```python

```python


```":
msg="E-mail不能为空"
multenter=g.multenterbox(msg=msg,title="请如实填写信息",fields=text)

  • 写回答

3条回答 默认 最新

  • 笨鸟快飞呀 2021-11-05 22:36
    关注

    你的想法挺好,但是代码有点改进的地方:

    定义text ,正确

    text =['*用户名', '*真实姓名' , '固定电话' , '*手机号码' , 'QQ' , '*E-mail']
    

    但是下面判断你用的是 text[0] , text[1] ,这边有点问题。
    我想,你要表达的应该是输入框是否为空吧,但是 text[0] 表示的是你定义的数组的第一个值,也就是 “用户名”,他始终不会为空的,因此不会走到 下面的msg

    那么,竟然没有走到msg,那么msg 就一直没有定义,那么到了最后一步 multenterbox

    multenter = g.multenterbox(msg=msg, title="请如实填写信息", fields=text)
    

    这里面的msg没有定义,所以就报错了

    解决的地方有2个:

    1. 就是你要判断输入框是否为空,而不是 text[0], text[1]
    2. msg 要提前定义,在while 的下面就定义 msg = '', 这样后面就不会报错了

    修改示例后如下:

    import easygui as g
    
    message = "【真实姓名】为必填项。【手机号码】为必填项。"
    text =['*用户名', '*真实姓名' , '固定电话' , '*手机号码' , 'QQ' , '*E-mail']
    
    multenter =g.multenterbox(msg=message, title="请如实填写信息", fields=text)
    
    while multenter!= None:
        msg = ""
        if multenter[0]=="":
            msg = "用户民不能为空"
        elif multenter[1] == "":
            msg ="真实姓名不能为空"
        elif multenter[3] == "":
            msg ="手机号码不能为空"
        elif multenter[5] =="":
            msg = "E-mail不能为空"
    
        multenter = g.multenterbox(msg=msg, title="请如实填写信息", fields=text)
    
    

    打字不易,谢谢!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 11月14日
  • 已采纳回答 11月6日
  • 赞助了问题酬金 11月5日
  • 创建了问题 11月5日

悬赏问题

  • ¥15 CARSIM前车变道设置
  • ¥50 三种调度算法报错 有实例
  • ¥15 关于#python#的问题,请各位专家解答!
  • ¥200 询问:python实现大地主题正反算的程序设计,有偿
  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败