我认为python中的语法错误是由空格引起的
我仍然对编写python代码的方式感到困惑,因为我已经习惯了使用brakets的java代码,我不能完全理解缩进的概念。所以这是一个产生语法错误的代码,任何人都可以帮忙吗?先谢谢你我认为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)
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:如果
sdef语句之后的所有代码都应缩进,则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(电话)