在用户输入" q"之后,程序不会结束。退出函数外部 - Python while while循环

时间:2017-11-20 10:15:41

标签: python python-3.x while-loop user-input

我希望用户将新项目添加到列表中。当用户输入" q"时,我希望程序退出,然后使用此列表作为另一个功能的输入。 但我无法摆脱循环,因为" Q"被添加到列表中:

base = ["item1", "item2"]

def add_item(item, base=base):
    item=item.upper()
    base.append(item)
    return base

while True:
    user_input = add_item(input("Add an item or enter q to finish: "))
    if user_input == "Q":
      break

    else:
       print(f"New item added: {user_input}")
print("Added")

另外,我怎么能在以后使用最终输出(最终列表)作为另一个函数的输入? 我想检查项目是否已经在列表中,然后对此项目执行某些操作。 我有一个大概的想法,也许我应该使用" global"像这样:

def check(item):
  global base
  if item in base:
    print("in the list")
  else:
    print("not here")

有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

因为user_input是函数的返回值而不是用户输入的程序的实际输入!

in = input("Add an item or enter q to finish: ")
if in == "Q":
      break
else:
      user_input = add_item()