python else语法错误

时间:2013-07-17 19:37:11

标签: python if-statement syntax

处理字符串的Python脚本在第24行else:中遇到语法错误。

关于它可能是什么的任何想法?

j=raw_input("Enter a string: ")
import os
def addtoClipBoard(text):
    command = 'echo ' + text.strip() + '| clip'
os.system(command)
def parse(string):
    result=""
lineList=string.split("\n")
for i in range(len(lineList)):

    h=lineList[i].split("@")
if len(h)<2:
    continue
if len(h)>2:
    count=0
for x in range(len(h)):
    if x==len(h)-1:
       continue
re0=count+len(h[x])+(x*1)
re1=i+1
re3=str(re1)+"-"+str(re0)
result+=str(re3)+", "
count+=len(h[x])
else:
re0=len(h[0])
re1=i+1
re3=str(re1)+"-"+str(re0)
result+=str(re3)+", "
result =result[:-2]
addtoClipBoard(result)
print result
parse(j)

2 个答案:

答案 0 :(得分:2)

else的缩进级别可能存在问题,请确保将其与相应if的同一级别对齐。请使用好的IDE或文本编辑器来帮助您发现此类错误。事实上,几乎不可能看到你打算用代码做什么。

答案 1 :(得分:1)

Python使用缩进来定义代码块内的内容(forifelifwhilewith)你想要将所有内容保留在块中的相同缩进处,然后返回级别以编写else语句

它看起来也不像你的其他:声明甚至属于那里,声明前面没有if声明意味着需要else你确定else你想要的是什么?

根据对模式的观察

,这是我的建议,但不知道您希望代码执行什么操作
for x in range(len(h)):
  if x==len(h)-1:
    continue
  if (###My condition goes here###):
    re0=count+len(h[x])+(x*1)
    re1=i+1
    re3=str(re1)+"-"+str(re0)
    result+=str(re3)+", "
    count+=len(h[x])
  else:
    re0=len(h[0])
    re1=i+1
    re3=str(re1)+"-"+str(re0)
    result+=str(re3)+", "
  result =result[:-2]
  addtoClipBoard(result)
print result
parse(j)