2016-12-26 8 views
-2

私は学校でPythonを学んでいるので、私は学生の問題を抱えています。私はそれを解決する方法を考えるのに少し苦労しています。これは私が出て解析する必要がファイルの例です:ファイル固有の問題を解析する

cupboard_blue “a” drawer1  -1 
cupboard_blue “a” drawer2  -1 
cupboard_blue “a” drawer3  -1 
cupboard_blue “a” drawer4  -1 
cupboard_blue “b” drawer1  -1 
cupboard_blue “b” drawer2  apple 
cupboard_blue “b” drawer3  -1 
cupboard_blue “b” drawer4  -1 

cupboard_yellow “a” drawer1  -1 
cupboard_yellow “a” drawer2  -1 
cupboard_yellow “a” drawer3  -1 
cupboard_yellow “b” drawer1  -1 
cupboard_yellow “b” drawer2  lychee 
cupboard_yellow “b” drawer3  -1 

cupboard_red “a” drawer1  pear 
cupboard_red “a” drawer2  pear 
cupboard_red “b” drawer1  pear 
cupboard_red “b” drawer2  pear 

食器棚の異なる色のカテゴリがあります - 上記の例では、赤、黄、青の食器棚があります。各色には2つの異なる食器棚「a」と「b」、つまり合計2つの青い食器棚と2つの赤い食器棚があります。 それぞれの食器棚には、空になったり、フルーツでいっぱいの引き出しがあります。

私は、そのカテゴリのすべての食器棚にフルーツでいっぱいの引き出しがある色の種類のみを解析するスクリプトを作成したいと思います。したがって、上記の例では、出力は次のようになります。

cupboard_red “a” drawer1  pear 
cupboard_red “a” drawer2  pear 
cupboard_red “b” drawer1  pear 
cupboard_red “b” drawer2  pear 

この問題については、本当に参考になります。それが理にかなってほしい。

+1

StackOverflowのための歓迎であなたを置くことができます! [質問の方法](https://stackoverflow.com/help/asking)を参照し、 [最小限で完全で検証可能な例](https://stackoverflow.com/help/mcve)を提供してください。問題を再現する –

+0

私は@hiroprotagonistに同意します。キーワードは最小です。コードは数行で正確に再現できます。 – Octo

答えて

0

あなたがそれらに特定の文字列を持っている、と私はまた、あなたがファイルを開く必要が想定している行検索したい場合は、このコードは正しい軌道

output = [] 
word = "pear" 
with open("file.txt") as file: 
    lines = file.readlines() 
    for line in lines: 
     if word in line: 
      output.append(line) 

print(output) 
+0

このDarkchilliありがとうございました。しかし、私はそれらの中に特定の文字列を持つ行を見つける方法を知っています。問題は特定の問題です:単純に言えば、すべての引き出しに果物が含まれている食器棚の色を解析する必要があります。私は引き出しのうちの1つだけが果物を持っている食器棚をプリントアウトしたくありません。おそらく私はこの投稿を削除して、書き直すべきでしょうか?ご不便おかけしてすみません。 – Altheman

+0

いいえ、その罰金。代わりにあなたがする必要があるのは、最初の食器棚を取ることです。すべての果物が入っているかどうかチェックしてください。そうでない場合は、続けてください。すべての空白行を分割することもできます。 – Octo

+0

さて、元気いっぱい!したがって、すべての引き出しをループすると、特定の色のすべての引き出しに果物が含まれている場合にのみ、これをリストに追加します。私は組合機能を使うべきだと思っていますか?一つの引き出しだけが果実を持っていれば、それは組合を作りません。 – Altheman