2014-10-30 70 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