2012-08-23 94 views
0

此脚本崩溃我的Python IDE:为什么这个python脚本会崩溃我的IDE?

def flashCard(word,definition): 
    print word + "\n" + definition 
    return word + definition 

def buildCard(): 
    word = input("Front?") 
    definition = input("Back?") 
    flashCard(word,definition) 



buildCard() 

我使用闲置的Mac OSX 10.7.4

+0

通过“崩溃”,你的意思是“提出了一个NameError”或“引发一个SyntaxError”? – DSM

+0

很好,这是不是你的原因IDE崩溃,但如果你返回'字+'从flashCard' definition'字符串,你可能应该这样做:在'wordAndDef =烧录卡(词,定义)'你'buildCard'方法。否则,在返回任何东西时没有意义 –

+1

您正在使用哪个版本的python? – Simon

回答

3

可能是因为您正在使用的输入(),尝试更换输入呼叫( )与raw_input()。 (只是猜测这里,但可能是它取决于你正在运行的Python版本)在Python 2.x中输入:

input([prompt]) 
Equivalent to eval(raw_input(prompt)). 

此功能不会赶上用户错误。如果输入不是 在语法上有效,则会引发SyntaxError。如果在评估过程中出现错误,则可能会引发其他例外 。

如果readline的模块被加载,然后输入()将使用它来提供 精心行编辑和历史记录功能。

考虑使用的raw_input()函数用于从用户通用输入。

+0

在Python 3输入的所有*脚本的raw_input替换。但这可能是问题所在。 – Simon

+0

我更换了,它仍然崩溃。当你的IDE爆炸时,你知道你的代码很糟糕。 – JaeGeeTee

+0

但是,它确实允许我的代码从命令行正确执行。谢谢。 – JaeGeeTee