2016-12-08 10 views
-1

特定のセルに内容を印刷しようとしています。私は出力にコンテンツを抽出する前に確認したいセルを知っています。コンテンツを抽出し、細胞数複数のIF文(Python)

A5内のコンテンツがある場合、私は何をしようとしていますが、最初のチェックです - - :

if lineCount == 5: 
    if line[0]: 
     print line[0], 'A5' 
     OPfound = 1 
     break 
    if line[1]: 
     print line[1], 'B5' 
     OPfound = 1 
     break 
if lineCount == 4: 
    if line[0]: 
     print line[0], 'A4' 
     OPfound = 1 
     break 
    if line[1]: 
     print line[1],'B4' 
     OPfound = 1 
     break 

出力の形式である。このためのステートメントは場合、私は複数を使用していますコンテンツがあればそれを抽出する...そうでなければB5のコンテンツをチェックする - コンテンツがあればそれを抽出する...そうでなければA4のコンテンツをチェックする

私はB5とA4の出力を得ているが、 A5

また、contがない場合にのみB4のコンテンツをチェックしますA5、B5、A4で...

+2

'line'と' lineCount'の情報を含むようにコードを拡張してください。また、あなたの圧痕は消えています。 –

+0

「セル」とは何ですか? –

+0

あなたの押し込みは、それが貼り付けられたときにうまくいきました。 –

答えて

1

breakあなたが本当に脱出しようとしている場合はif句を残すことはできません。ここでのトリックはbreak文を削除し、そのようなelif秒で2番目if Sを交換することである。

if lineCount == 5: 
    if line[0]: 
     print line[0],'A5' 
     OPfound = 1 
    elif line[1]: 
     print line[1],'B5' 
     OPfound = 1 
if lineCount == 4: 
    if line[0]: 
     print line[0],'A4' 
     OPfound = 1 
    elif line[1]: 
     print line[1],'B4' 
     OPfound = 1 

最初の1が失敗した場合にのみ、各LINECOUNT句の二if計算書を通じてない実行されている。この方法毎回。

+0

これは私に尋ねたことをほとんど私に与えている...しかし、A5に内容があるなら、A4を読みたいとは思わない...今、私はA4とA5の両方の出力を得ている。この? – safwan

+0

@safwan 2番目のif文をelifにするだけです。 'elif lineCount == 4:' – Shule

+0

elifは、以前のif条件またはelif条件が真でない場合(およびそうでない場合のみ)、この条件をチェックします。 elifはelseを意味します。あなたが含まなかった条件をカバーする 'else'もあります。 if文中のif文を入れ子にする(入れ子にされたif文)。 – Shule

1

まず、breakのPythonコードブロックを終了しないでください。 break文はそれが見つけることができる最も内側のループを終了するために使用され

if condition: //or any other statement that needs a block 
    //code goes here 
//end of block 

:それはあなたがこのように、背中にインデントされていることを見たとき、Pythonはコードブロックを終了します。ループの下でそのコードを実行している場合、breakステートメントは深刻なバグを引き起こす可能性があります。

とにかく、複数の条件に対して何かをテストする従来の方法があります。 breakステートメントのない現在の設定が有効ですが、if...elif...elseステートメントを使用することをお勧めします。

if condition: 
    //run if true 
elif condition: 
    //run if first expression was false, and this is true 
elif condition: 
    //run if second expression was false, and this is true 

... (you get the idea) 

else: 
    //run if all other expressions are false 

Pythonは、このような文で真となる式を発見した後に、それは、コードの対応するブロックを実行し、他のすべてのブロックを無視することに留意してください:ここでは形式です。

希望すると便利です。