2014-10-30 36 views
0

我需要帮助! 我一直在努力解决这个问题,我似乎无法解决它。Enthought树冠验证错误

def itemName(): 
    flag = True 
     while flag == True: 
     try: 
      name = input('What would You like to name it? \n') 
      Input = str(Input) 
      print(name) 
      if name.upper() == ('BOAT') or name.upper() == ('CASUALTY'): 
       flag = False 
      else: 
       raise Exception 
     except: 
      print('Boat or Casualty only') 
    return name 

name = itemName() 
print(name) 

此代码在运行时不会通过。这工作在正常的蟒蛇IDLE但不是冠层。此外,只有输入是整数时,才会输出print语句。我难过,有什么想法?

回答

0

这是python 3的代码。 Canopy使用Python 2.7

这些版本的输入函数不同。

在Python 2.7版,相当于是raw_input

+0

您可以选择Python 3里似乎有一个语言(我有) - 哦,相同的代码适用于其他变量的代码,这是 – Firehawk 2014-10-30 23:43:13

+0

我原来的答案的一部分站立并且是正确的。也许你是指代码编辑器中的“文件类型”下拉列表,它提供了“Python 3追溯”作为一个选项。这完全无关。您也可以选择Fortran,但这并不意味着Canopy可以运行Fortran代码。 – 2014-10-31 04:03:30

+0

至于“相同的代码适用于代码中的其他变量,这是”......的一部分,如果您想获得有用的回复以帮助您理解问题,则必须更加精确。底线,你不能在当前版本的Canopy中运行Python 3代码,除非它也被编写为Python 2兼容。 – 2014-10-31 04:06:22