簡體   English   中英

用戶鍵入“ q”以退出函數之外后,程序不會結束-Python while循環

[英]Program doesn't end after user types in “q” for quit outside the function - Python while loop

我希望用戶將新項目添加到列表中。 當用戶輸入“ 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")

另外,以后如何將最終輸出(最終列表)用作另一個功能的輸入? 我想檢查該項目是否已經在列表中,然后對該項目進行處理。 我有一個大概的想法,也許我應該這樣使用“全局”:

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

有沒有更好的方法?

因為user_input是函數的返回值,而不是用戶鍵入的程序的實際輸入!

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM