2017-12-17 13 views
0

私の代わりにprint文のリターンを使用したいが、私はリターンでprint文を交換するとき、私は戻って何かを得ることはありません。私は何かを明らかに欠けている知っている:パイソン - 条件文でリターンを使用して

def consecCheck(A): 
    x = sorted(A) 
    for i in enumerate(x): 
     if i[1] == x[0]: 
      continue 
     print x[i[0]], x[i[0]-1] 
     p = x[i[0]] - x[i[0]-1] 
     print p 
     if p > 1: 
      print "non-consecutive" 
      break 
     elif x[i[0]] == len(x): 
      print "consecutive" 

if __name__ == "__main__": 
    consecCheck([1,2,3,5]) 

----- UPDATEを------ HERE HEATH3Nの答え取った後のコードを修正される:

def consecCheck(A): 
    x = sorted(A) 
    for i in enumerate(x): 
     if i[1] == x[0]: 
      continue 
     print x[i[0]], x[i[0]-1] 
     p = x[i[0]] - x[i[0]-1] 
     print p 
     if p > 1: 
      a = "non-consecutive" 
      break 
     elif x[i[0]] == len(x): 
      a = "consecutive" 
    return a 

if __name__ == "__main__": 
    print consecCheck([4,3,7,1,5]) 
+0

以外のすべてのステートメントにprintを使うのか?それはそうではありません。 – HEATH3N

+0

また、戻り値は関数から壊れて戻ってこない。戻り、実行を続けたい場合は、 'yield'を使います。 –

+1

あなたの期待する結果をより明確にするために追加してください – CIsForCookies

答えて

0

を私はあなたを考えていません

returnステートメントを実行すると、現在のサブルーチンは終了し、サブルーチンが呼び出された直後のコード(リターンアドレス)のポイントで再開されます。

consecCheck([1,2,3,5])を印刷する必要があります。それ以外の場合は、関数を呼び出すだけで(何も印刷されなくなります)、それが行っていたことに戻ります。

+0

@ HEATH3Nはい、そうです。依然としてリターンを理解する問題があります。私は上記の修正されたコードを入れました。私はちょうど二値的な価値がプログラムによって捉えられていることを保証する方法を望んでいました。ありがとう! – ShaunO

0

print Pythonのオブジェクトを取得し、機能の実行が、次に他の行の文を返さないために到達した場合にも場所を呼び出すプログラムの機能の実行に使用returnステートメントは、実行されるとき/出力ウィンドウ

をコンソールに出力表示を出力します。詳細にdifference between print and return

を読んで、あなたが出力コンソールに結果を表示したいのであればあなたのケースでは、あなたが例を、以下のようにそれを行うことがあります。あなたのコードで

def my_function(): 
    # your code 
    return <calculated-value> 
val = my_function() 
print(val) # so you can store return value of function in `val` and then print it or you can just directly write print(my_function()) 

あなたが値を印刷し、あなたがかもしれない場合は、実行を継続しています@COLDSPEEDによって提案yieldキーワードを使用することを検討してか、ちょうどあなたが `return`が何を印刷すると思いますなぜ最後の1

+0

ありがとうございます。私はHEATH3Nのソリューションを使用しましたが、これは非常に有益でした。私はまだ利回り明細書に問題がありますが、引き続き調査を続けます。 – ShaunO

関連する問題