Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我认为python中的语法错误是由空格引起的_Python - Fatal编程技术网

我认为python中的语法错误是由空格引起的

我认为python中的语法错误是由空格引起的,python,Python,我仍然对编写python代码的方式感到困惑,因为我已经习惯了使用brakets的java代码,我不能完全理解缩进的概念。所以这是一个产生语法错误的代码,任何人都可以帮忙吗?先谢谢你 def SendSMS2 (phone_number,sms_text): print 'made it to def' res = MDM.send('AT+CMGS='+ phone_number + '\r',5) n=0 while n < 20: res=MDM.receive(1)

我仍然对编写python代码的方式感到困惑,因为我已经习惯了使用brakets的java代码,我不能完全理解缩进的概念。所以这是一个产生语法错误的代码,任何人都可以帮忙吗?先谢谢你

def SendSMS2 (phone_number,sms_text):

print 'made it to def' 
res = MDM.send('AT+CMGS='+ phone_number + '\r',5)
n=0
while n < 20:
    res=MDM.receive(1)
    if res.find(">") >-1:
        print n
        break
        else:
            n = n +1

res = MDM.send(sms_text, 10)
if res != -1:
    print 'Text sent ok'

res = MDM.sendbyte(0x1a,10)
n=0
while n < 20:
    res=MDM.receive(1)
    if res.find("+CMGS") >-1:
        print n
        break
        if res.find("ERROR")>-1:
            print 'sms ok'
            else:
                print 'not good' 
                else:
                    n = n +1


print 'def completed *******************'
def SendSMS2(电话号码、短信):
打印“制作到def”
res=MDM.send('AT+CMGS='+电话号码+'\r',5)
n=0
当n<20时:
res=MDM.receive(1)
如果res.find(“>”>)-1:
印刷品
打破
其他:
n=n+1
res=MDM.send(sms_文本,10)
如果res!=-1:
打印“文本发送确认”
res=MDM.sendbyte(0x1a,10)
n=0
当n<20时:
res=MDM.receive(1)
如果res.find(“+CMGS”)>-1:
印刷品
打破
如果res.find(“错误”)>-1:
打印“短信正常”
其他:
打印“不好”
其他:
n=n+1
打印“def已完成******************”

定义函数时,所有应作为函数一部分的代码都需要缩进到比以“def func_name(arguments)”开头的行更高的一级

此外,在编写
if
else
语句时,以
else
开头的行应缩进到与其对应的
if
行相同的级别。任何应该是这些块的一部分的代码都应该缩进一级

如果可以使用花括号,就可以使用Python的缩进。它们都用于创建代码块。类似于
if
else
while
语句的语句都用于启动一个代码块,可以使用大括号或空格来显示该块中包含的内容:

if (condition) {
this is an if block
it ends with a curly bracket
}
else {
this is an else block
it ends with a curly bracket
}
在python中,我们使用空格:

if condition:
    this is a python if block
    it ends when we move back a level of indentation
else:
    this is the corresponding else block
    it ends when we move back a level of indentation

因此,要从使用方括号的语言转移到python,只需开始缩进将插入开始方括号的位置,并在插入结束方括号时停止缩进。还有一点是()但是这应该让你开始了。

当你定义一个函数时,应该是函数一部分的所有代码都需要比以“def func_name(arguments)”开头的行缩进一级

此外,在编写
if
else
语句时,以
else
开头的行应缩进到与其对应的
if
行相同的级别。任何应该是这些块的一部分的代码都应该缩进一级

如果可以使用花括号,就可以使用Python的缩进。它们都用于创建代码块。类似于
if
else
while
语句的语句都用于启动一个代码块,可以使用大括号或空格来显示该块中包含的内容:

if (condition) {
this is an if block
it ends with a curly bracket
}
else {
this is an else block
it ends with a curly bracket
}
在python中,我们使用空格:

if condition:
    this is a python if block
    it ends when we move back a level of indentation
else:
    this is the corresponding else block
    it ends when we move back a level of indentation

因此,要从使用方括号的语言转移到python,只需开始缩进将插入开始方括号的位置,并在插入结束方括号时停止缩进。还有一点是()但是这应该让您开始了。

def语句之后的所有代码都应该缩进,如下所示:

def SendSMS2 (phone_number,sms_text):

    print 'made it to def' 
    res = MDM.send('AT+CMGS='+ phone_number + '\r',5)
    n=0
    while n < 20:
        res=MDM.receive(1)
        if res.find(">") >-1:
            print n
            break
        else:
            n = n +1

    res = MDM.send(sms_text, 10)
    if res != -1:
        print 'Text sent ok'

    res = MDM.sendbyte(0x1a,10)
    n=0
    while n < 20:
        res=MDM.receive(1)
        if res.find("+CMGS") >-1:
            print n
            break
        else:
            n = n +1

        if res.find("ERROR")>-1:
            print 'sms ok'
        else:
            print 'not good' 



    print 'def completed *******************'
def SendSMS2(电话号码、短信):
打印“制作到def”
res=MDM.send('AT+CMGS='+电话号码+'\r',5)
n=0
当n<20时:
res=MDM.receive(1)
如果res.find(“>”>)-1:
印刷品
打破
其他:
n=n+1
res=MDM.send(sms_文本,10)
如果res!=-1:
打印“文本发送确认”
res=MDM.sendbyte(0x1a,10)
n=0
当n<20时:
res=MDM.receive(1)
如果res.find(“+CMGS”)>-1:
印刷品
打破
其他:
n=n+1
如果res.find(“错误”)>-1:
打印“短信正常”
其他:
打印“不好”
打印“def已完成******************”

Edit:如果
s

def语句之后的所有代码都应缩进,则
else
语句也应与
匹配,如下所示:

def SendSMS2 (phone_number,sms_text):

    print 'made it to def' 
    res = MDM.send('AT+CMGS='+ phone_number + '\r',5)
    n=0
    while n < 20:
        res=MDM.receive(1)
        if res.find(">") >-1:
            print n
            break
        else:
            n = n +1

    res = MDM.send(sms_text, 10)
    if res != -1:
        print 'Text sent ok'

    res = MDM.sendbyte(0x1a,10)
    n=0
    while n < 20:
        res=MDM.receive(1)
        if res.find("+CMGS") >-1:
            print n
            break
        else:
            n = n +1

        if res.find("ERROR")>-1:
            print 'sms ok'
        else:
            print 'not good' 



    print 'def completed *******************'
def SendSMS2(电话号码、短信):
打印“制作到def”
res=MDM.send('AT+CMGS='+电话号码+'\r',5)
n=0
当n<20时:
res=MDM.receive(1)
如果res.find(“>”>)-1:
印刷品
打破
其他:
n=n+1
res=MDM.send(sms_文本,10)
如果res!=-1:
打印“文本发送确认”
res=MDM.sendbyte(0x1a,10)
n=0
当n<20时:
res=MDM.receive(1)
如果res.find(“+CMGS”)>-1:
印刷品
打破
其他:
n=n+1
如果res.find(“错误”)>-1:
打印“短信正常”
其他:
打印“不好”
打印“def已完成******************”

编辑:如果
s

认为您的函数应该以以下方式修改,则
else
语句也应该与
匹配(希望我使用了正确的索引):

def SendSMS2(电话号码、短信):
打印“制作到def”
res=MDM.send('AT+CMGS='+电话号码+'\r',5)
n=0
当n<20时:
res=MDM.receive(1)
如果res.find(“>”>)-1:
印刷品
打破
其他:
n=n+1
res=MDM.send(sms_文本,10)
如果res!=-1:
打印“文本发送确认”
res=MDM.sendbyte(0x1a,10)
n=0
当n<20时:
res=MDM.receive(1)
如果res.find(“+CMGS”)>-1:
印刷品
如果res.find(“错误”)>-1:
打印“不好”
其他:
打印“短信正常”
打破
其他:
n=n+1
打印“def已完成******************”

认为您的函数应该按以下方式修改(希望我使用了正确的索引):

def SendSMS2(电话)