将名称添加到python列表

时间:2019-06-10 22:13:05

标签: python-3.x

嗨,我正在尝试解决这个问题。我知道我的代码是错误的,但我不知道如何解决。如果有人可以帮助,那就太好了,谢谢!!

编写并测试一个要求输入俱乐部中所有成员姓名的函数。但是,我们不知道俱乐部中实际上有多少成员。使用“ while循环”,该循环将重复直到输入所有成员的姓名为止。 “ while循环”将如何知道已输入所有成员的姓名?

def club():
  members = []
  done = False
  while (not done):
    mem = input("enter name")
    if name == "done":
      return False
    else:
      return (members.append(mem)

 File "main.py", line 10

                                     ^
SyntaxError: unexpected EOF while parsing
 

1 个答案:

答案 0 :(得分:1)

您正在将未定义的变量“名称”指定为等于“完成”。我假设您希望用户输入“完成”以表示已输入所有名称。更改if语句以读取下面显示的内容。

您还具有返回False的if语句。最终将给您无限循环。完成等于True,退出循环。

def club():
  members = []
  done = False
  while done != True:
    mem = input("Enter a name, enter 'done' when finished: ")
    if mem == "done":
      done = True 
    else:
      members.append(mem)
    print(members)
club()

这是适用于您所查看内容的解决方案。我在末尾添加了print(members),向您展示了成员列表在键入“完成”之前如何增长。查看下面的输出。

  1. 输入:输入名称,完成后输入'done':詹姆斯
  2. 输出:['James']
  3. 输入:输入名称,完成后输入完成:黎明
  4. 输出:['James','Dawn']
  5. 输入:输入名称,完成后输入完成:吉姆
  6. 输出:['James','Dawn','Jim']
  7. 输入:输入名称,完成后输入完成:完成