2012-11-17 68 views
0

我是新手編程/ Python。我正在嘗試創建一個將單詞添加到列表的函數。我試圖用while循環來添加詢問用戶是否想添加另一個單詞。如果用戶輸入「y」或「Y」,我想再次運行該功能。如果用戶輸入其他內容,我希望函數返回列表。當我運行該函數時,無論輸入什麼,它都會繼續運行該函數。請幫忙。由於需要幫助創建函數並調用函數中的函數

def add_list(): 
    x = [] 
    first_list = raw_input('Please input a word to add to a list ') 
    x.append(first_list) 
    response = raw_input('Would you like to enter another word ') 
    while response == 'y' or 'Y': 
     add_list() 
    else: 
     return x 

回答

4
while response == 'y' or 'Y': 

應該

while response == 'y' or response == 'Y': 

或更好:

while response in ('y', 'Y'): 

這也是爲什麼你壓根行不通。下面的每一行都是相同的。

while response == 'y' or 'Y' 
while (response == 'y') or ('Y') 
while (response == 'y') or True 
while True 
+0

+1你爲我刪除我的答案。 ;) –

+0

+1,用於改進我的回答 –

+0

感謝您的回覆。我根據你的建議修改了部分內容,但仍然無法正常工作。如果輸入'y'或'Y'以外的任何東西,它會繼續循環。我錯過了什麼嗎? – user1816629

1

就榜上無名你傳遞給函數的參數:

x = [] 
add_list(x) 

隨着add_list(X)

def add_list(x): 
    first_list = raw_input('Please input a word to add to a list ') 
    x.append(first_list) 
    response = raw_input('Would you like to enter another word ') 
    while response in ('y', 'Y'): 
    add_list(x) 
    else: 
    return 
+0

我不認爲這是OP提到的問題。 –

+0

你是對無限循環部分,但他目前的回報仍然是他一旦解決了無限循環,他將面臨的問題。根據Eric的回答編輯循環條件。 –