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

2 回答 2

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
于 2012-11-17T09:51:21.857 回答
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
于 2012-11-17T09:53:39.587 回答