私はユーザーに質問した入力のキーワードを検索したいのですが、そのキーワードが入力に含まれている場合、特定のテキストファイルを開くようにしたい(私は例としてケーキを使用しています。ループのネストとブレーク
しかし、私は質問を続けながらループを終了するのに苦労しています。私は自分のコードを最小限に保つように努めましたが、私はいつでも報いた場合、それが唯一のループで動作するように私はそれから倍のn
量のために、再びこれにしたい。
keywords1 = ['jam', 'victoria', 'sponge', 'recipe', 'ingredients']
keywords2 = ['chocolate', 'cake']
keywords3 = ['tiramisu']
def test1():
global keywords1, keywords2, keywords3, query
for i in keywords1:
if i in query:
f=open('Victoria.txt','r')
f.read = f.read()
for i in range(0,1):
print(f.read)
f.close()
for i in keywords1:
if i not in query:
question1()
break
def question1():
global query
query = input("\nWhat ingredients do you want?\nmake sure to include the keywords\n")
test1()
if __name__ == "__main__":
question1()
をより多くのを投稿し、任意のヘルプはappreだろうciated。
私はこのサンプルコードがあなたの意図通りに機能するかどうかはわかりません。 'f.read = f.read()'の行は本質的に何もしません。 'f'インスタンスの' read() 'メソッドを' read() 'に再割り当てします。基本的に、あなたは 'x = x'をやっています。私はあなたが 'f.read()'呼び出しの結果を次の 'for'ループで出力する変数に格納することを意味すると信じていますが、' print'を一度呼び出すだけでループが混乱しますファイルハンドルインスタンスの 'read'メソッドへの参照とは何でしょうか。また、ネストされたイテレータで 'i'値を再利用することは、一般的に悪い習慣です。 – Sam
援助ありがとうございますので、どのようなものになるべきかをお聞かせください。 –
たとえば、キーワード1の単語の場合はと入力してください: open( 'Victoria.txt'、 'r')をf: としたprint(f.read()) 'with'文があなたのためにいくつかの基本的なファイルを開く処理を行います。これはPythonのより多くのエクスポーズで学ぶようなものですが、あなたのアプローチは「間違っていません」。 – Sam