0
ユーザーが新しい項目をリストに追加したい。ユーザーが "q"を入力すると、プログラムを終了してからこのリストを別の機能の入力として使用します。 しかし、私は「Q」などのループから抜け出すことはできませんがリストに追加されます。関数の外側で終了するためにユーザーが "q"を入力した後にプログラムが終了しない - ループ中のPython while
また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'は' add_item'の戻り値を保持します。 'add_item'は文字列' 'Q" 'を返しません。 'add_item'を呼び出す前に、ユーザー入力を確認する必要があります。 – khelwood
あなたのコードでも大文字のQをチェックしています。あなたの質問では、あなたが "q"(アンダースコアq)を入力したときにあなたは言うでしょう。アンダースコアqはあなたのプログラムを決して終わらせません。 –
でも大文字に変更しています – Ank12