2012-11-17 56 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的回答编辑循环条件。 –