2015-10-01 137 views
-1

我正在创建一个程序,看起来它正在编译一些东西(它不是),我得到一个奇怪的invalid syntax错误。我有以下代码:奇怪的Python语法错误

import random 
from time import sleep 
files = ["main.cpp", "include.h", "connect.c", "mainProgram.java", "start.py", "lfm.java"] 
verbs = ["Compiling ", "Checking ", "Debugging ", "Building "] 
errors = ["stack_overflow", "divide_by_zero", "str_int_error", "syntax_error", "math_error"] 
lineNums = ["4", "24", "13", "73", "48", "33", "172", "129", "145", "206"] 
sleepFor = ["1", "3", "12", "15", "30", "43", "62"] 
error = "Error: " 
onLine = " on line " 
minute = " (This may take a minute...)" 

def random(): 
    num = random.randint(0, 10) 
    return num 

while True: 
    num = random() 
    if (num > 7): 
     print(random.choice(verbs) + random.choice(files) + minute) 
     sleep(random.choice(sleepFor)) 
    elif (num == 0):  
     print(error + random.choice(errors) + onLine + random.choice(lineNums) 
     sleep(random.choice(sleepFor)) 
    else: 
     print(random.choice(verbs) + random.choice(files)) 
     sleep(random.choice(sleepFor)) 

,由于某种原因,它给我一个错误的代码的以下部分(其中我叫sleep功能)

elif (num == 0):  
     print(error + random.choice(errors) + onLine + random.choice(lineNums) 
     sleep(random.choice(sleepFor)) 

我还没有看到我的代码中有任何语法错误。缩进有问题吗?我缩进了,所以我不这么认为。

+3

'print()'''''''''''? –

+0

@AshwiniChaudhary这是奇怪的语法错误:p – The6thSense

+0

@AshwiniChaudray它现在的作品,谢谢!有时候我认为Python2比Python3更好,因为有时我会被括号弄糊涂了。 – m654

回答

2

此行缺少一个右括号:

print(error + random.choice(errors) + onLin+random.choice(lineNums) 

纠正它

print(error + random.choice(errors) + onLin+random.choice(lineNums)) 
0

您还没有关闭线;

print(error + random.choice(errors) + onLin+random.choice(lineNums) 

我建议你使用具有语法高亮的编辑器,会作出这种明显的比较快;)

我假设你的意思如下:

print(error + random.choice(errors) + onLin+random.choice(lineNums)) 
+0

我使用Sublime Text 2,它具有语法高亮。 – m654

+1

当你在各自行上选择第一个圆括号时,该编辑器会“突出显示”什么? –

0
to_test=open("my_program.py") 
program=to_test.read() 

print(program.count("(")) 
print(program.count(")"))