If statement 具有两种不同条件的同一操作的合并代码
我有个问题。我正在整理一些代码。 我有这部分代码If statement 具有两种不同条件的同一操作的合并代码,if-statement,merge,If Statement,Merge,我有个问题。我正在整理一些代码。 我有这部分代码 if (self.type == self.BETAECM): for line in contentInfo: if line.startswith("caid:"): caid = self.readEcmInfo(line) if "x" in caid: idx = caid.in
if (self.type == self.BETAECM):
for line in contentInfo:
if line.startswith("caid:"):
caid = self.readEcmInfo(line)
if "x" in caid:
idx = caid.index("x")
caid = caid[(idx + 1):]
caid = caid[:4]
caid = caid.upper()
if (caid >= "1700") and (caid <= "17FF"):
return True
elif line.startswith("====="):
caid = self.readCaid(line)
if "x" in caid:
idx = caid.index("x")
caid = caid[(idx + 1):]
caid = caid[:4]
caid = caid.upper()
if (caid >= "1700") and (caid <= "17FF"):
return True
return False
if(self.type==self.BETAECM):
对于contentInfo中的行:
如果line.startswith(“caid:”):
caid=self.readEcmInfo(行)
如果caid中的“x”:
idx=资本指数(“x”)
caid=caid[(idx+1):]
caid=caid[:4]
caid=caid.upper()
如果(caid>=“1700”)和(caid=“1700”)和(caid),则需要使用OR运算符将它们连接起来。换句话说,您需要知道哪一个条件为真才能执行代码
如果line.startswith(“caid:”)| line.startswith(“==”):
我不懂这种语言,但我会尝试一下
for line in contentInfo:
caid = "nothing"
if line.startswith("caid:"):
caid = self.readEcmInfo(line)
elif line.startswith("====="):
caid = self.readCaid(line)
if "x" in caid:
idx = caid.index("x")
caid = caid[(idx + 1):]
caid = caid[:4]
caid = caid.upper()
if (caid >= "1700") and (caid <= "17FF"):
return True
contentInfo中的行的:
caid=“没什么”
如果line.startswith(“caid:”):
caid=self.readEcmInfo(行)
elif行。起始带(“=======”):
caid=self.readCaid(行)
如果caid中的“x”:
idx=资本指数(“x”)
caid=caid[(idx+1):]
caid=caid[:4]
caid=caid.upper()
如果(caid>=“1700”)和(caid非常感谢!
我缺少的是,最后一个if语句(caid:)必须与前一个处于相同的级别。它现在可以工作了
因此,如果我想合并另一个示例:
def readEcmInfo(self, line):
if ":" in line:
idx = line.index(":")
line = line[(idx + 1):]
line = line.replace("\n", "")
while line.startswith(" "):
line = line[1:]
while line.endswith(" "):
line = line[:-1]
return line
else:
return ""
elif "CaID" in line:
idx = line.index("D")
line = line[(idx + 1):]
line = line.replace("\n", "")
while line.startswith(" "):
line = line[1:]
while line.endswith(" "):
line = line[:-1]
return line
else:
return ""
应该这样吗
def readEcmInfo(self, line):
if ":" in line:
idx = line.index(":")
line = line[(idx + 1):]
line = line.replace("\n", "")
elif "CaID" in line:
idx = line.index("D")
line = line[(idx + 1):]
line = line.replace("\n", "")
while line.startswith(" "):
line = line[1:]
while line.endswith(" "):
line = line[:-1]
return line
else:
return ""
这是什么语言?对不起,忘了提一下,是python!新问题,我有一个错误:如果“x”在caid中:UnboundLocalError:分配前引用的局部变量“caid”谢谢,我也会尝试!对不起,我的答案是错误的,没有看到每个变量上都有不同的语句。@Beta的一个是可以的。我不知道控件如何到达第一个elif
。请每个问题问一个问题。