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 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面
  • ¥50 NT4.0系统 STOP:0X0000007B
  • ¥15 想问一下stata17中这段代码哪里有问题呀
  • ¥15 flink cdc无法实时同步mysql数据
  • ¥100 有人会搭建GPT-J-6B框架吗?有偿
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组