-4

这个处理字符串的 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)
4

2 回答 2

2

可能是 的缩进级别有问题,请else确保将其与对应的if. 请使用良好的 IDE 或文本编辑器来帮助您捕获此类错误。事实上,几乎不可能确定您打算对代码做什么。

于 2013-07-17T19:39:18.303 回答
1

Python 使用缩进来定义代码块中的内容(for, if, elif, while, with)您希望在代码块中保持所有内容的缩进相同,然后返回一个级别来编写您的else语句

而且它看起来不像你的 else: 声明甚至属于那里,if它之前没有任何声明暗示需要 anelse你确定那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)
于 2013-07-17T19:40:10.727 回答