2013-03-21 50 views
-2
yes = set(['yes','y', 'ye', '']) 
no = set(['no','n']) 

choice = raw_input().lower() 

if choice in yes: 
    return True 
if choice in no: 
    return False 
else: 
    sys.stdout.write("Please respond with 'yes' or 'no'") 
yes = set(['yes','y', 'ye', '']) 
no = set(['no','n']) 

choice = raw_input().lower() 

if choice in yes: 
    return True 
if choice in no: 
    return False 
else: 
    sys.stdout.write("Please respond with 'yes' or 'no'") 

我認爲這是我的縮進,但我仍然無法得到它的工作,它可能是這麼簡單,我用它作爲基地爲另一個文件後,所以我需要檢查它的作品。***'return'外部函數(timer.py,第7行)

+1

在你的代碼中是否有'def functionnamename():'line * at all * *? – 2013-03-21 16:46:30

+1

錯誤非常明顯......您使用'return'並且您不在函數內部...... – Xymostech 2013-03-21 16:46:57

回答

2

您只能在函數中使用return語句。你的代碼在處沒有定義一個函數

+0

修復了這個明顯的錯誤之後,您的分支中會出現第二個錯誤。你需要if-elif-else,而不是if-if-else。 – 2013-03-21 16:48:58

+1

@MelNicholson:不,如果這是一個函數,他可以使用'return' ..'else:'分支完全是可選的,'sys.stdout'行可以被刪除,'else:'行除去。 – 2013-03-21 16:49:36

+0

我想這取決於他如何修復第一個問題。我想象他會將狀態存儲在一個變量中。如果他正在使用一項功能,那麼回報會做他所需要的。 – 2013-03-21 16:51:24