python 2.7:调试if-else语句(语法错误)

时间:2017-10-17 21:36:56

标签: python python-2.7 if-statement

我是python中的新编码,并尝试将if-else语句合并到现有代码中。但是,当我运行该段时,我收到一条错误:

else:
   ^
SyntaxError: invalid syntax

这是我正在运行的新代码。我哪里做错了?

if value[4] > 0: ref = value[0] / value[4]
else:
    ref = "NA"
if value[5] > 0: alt = value[1] / value[5]
else:
    alt = "NA"
diff = ref_meth-alt_meth
p = pvalue(*value[0:4]).two_tail
output += "%s,%s,%s,%s\n" % (ref, alt, diff, p)
#Note that the two if-else statements are separate from one another so I don't want to use elif. 

除非值[4]或值[5]等于0时,这是原始代码。

ref = value[0] / value[4]
alt = value[1] / value[5]
diff = ref_meth-alt_meth
p = pvalue(*value[0:4]).two_tail
output += "%s,%s,%s,%s\n" % (ref, alt, diff, p)

2 个答案:

答案 0 :(得分:1)

Python中常见的一件事是由于奇怪的空格而导致奇怪的语法错误。这可能是在这种情况下,但是不可能肯定地说,因为在复制粘贴期间,白色空间根本不能很好地转换。我复制粘贴你的代码,它工作,证明没有语法错误。既然它解决了你的问题,我也把它放在这里作为其他人的提醒。

通常只需删除换行符然后再将其重新放回即可解决此问题。

答案 1 :(得分:0)

Python是一种语言,用于检测代码段落下的缩进,例如if或else语句。上面给出的代码只是您尝试输入的一块或一段代码,因为我不知道整个程序,我发现很难调试它。尝试以下列方式编写代码:

if value[4] > 0: 
    ref = value[0] / value[4]
else:
    ref = "NA"
if value[5] > 0: 
    alt = value[1] / value[5]
else:
    alt = "NA"
diff = ref_meth-alt_meth
p = pvalue(*value[0:4]).two_tail
output += "%s,%s,%s,%s\n" % (ref, alt, diff, p)

确保内部的块的缩进级别if和else相同。只是为了通知你,因为python没有使用任何括号,它通过使用缩进来检测特定代码在块内的时间。所以对于python,你的代码需要适当的缩进才能运行。

您还可以参考Python {@ 3}}的官方文档。

希望这有帮助!!!

相关问题