私はPythonプログラミングには新しく、リストの値を比較する際には本当に助けが必要です。リストを反復して文字列を比較することができませんpython
私は2つのリスト(飲み物、食品)を持っています。私は2つのリストを比較しません。私がしようとしているのは、リスト内のすべての値を単独で比較することです。
まず、ドリンクリストのすべての値を最初にforループとif-elseステートメントを使って比較しなければなりません。飲み物にマッチがある場合、私は食品リストのために別のループを行い、if-elseステートメントを使用して食品リストの値を比較します。
これらは私のコードです:
drinks = []
food = []
drinks.append("lemontea")
drinks.append("coke")
drinks.append("sprite")
drinks.append("orangejuice")
drinks.append("fantagrape")
food.append("nugget")
food.append("pizza")
food.append("chickenwing")
food.append("fries")
food.append("pizza")
for i in drinks:
if i == drinks:
for j in food:
if j == food:
print("fail")
else:
print("success")
私の問題は、私がピザである食品リストに同じアイテムを持っているように、私が「失敗」の出力を取得することになっていますということです。また、なぜ私は5つの成功出力を得ているのか分からない。
これは私が得た私の出力です:
success
success
success
success
success
任意の助けが与えられた場合、私には理解されます。ありがとうございました。
更新: 返信ありがとうございますが、人々は私の質問と混同しているようですので、より多くの情報を提供しています。
リスト内の各アイテムを比較する理由は、アイテムがランダムに生成され、リストに追加される文字列タイプであるためです。たとえば、最初に生成される項目は「00100ABC」です。したがって、重複した値/リストがある場合は、エラーメッセージを表示する必要があります。ここで
あなたが間違っていることは間違いなくあなたの状態です: 'もしi ==飲み物:'が正しくない。飲み物の価値をリストと照らし合わせてチェックしています。あなたは最終的に文字列をあなたの平等のリストと比較していますが、必ずあなたのelse caseに当てはまります。 – idjaw
'if i == drinks'は、各文字がアルファベット全体であるかどうかを示すようなものです。 –
また、なぜあなたはそのようなネストされたリストを持っている必要があるのあなたのロジックで接続していないよ。また、ループロジックで正確に何を達成しようとしていますか?それは私には分かりません。 – idjaw