处理字符串的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)
答案 0 :(得分:2)
else
的缩进级别可能存在问题,请确保将其与相应if
的同一级别对齐。请使用好的IDE或文本编辑器来帮助您发现此类错误。事实上,几乎不可能看到你打算用代码做什么。
答案 1 :(得分:1)
Python使用缩进来定义代码块内的内容(for
,if
,elif
,while
,with
)你想要将所有内容保留在块中的相同缩进处,然后返回级别以编写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)