2017-06-27 8 views
-3

私は、人口、面積、四角単位面積(km対mi)を入力する集密度計算式を取得しようとしています。母集団や面積の数値を負の数で入力するか、「mi」や「km」以外の単位を入力すると、エラーが出力されます。両方のエラーは一意のエラーメッセージ(下記のコードを参照)を出力しますが、出力パラメータ "-1"も渡します。
どちらのエラーも発生しない場合は、濃度値を出力パラメータとして渡します。関数内に2つの出力パラメータを渡す

しかし、最初の復帰後に関数が終了するので、関数内でreturn文を複数回渡す方法を理解できません。

def pop_density(pop,land_area,distance_unit): 
    density = float(pop)/land_area 
    if not distance_unit == "mi" or distance_unit == "km": 
     print "ERROR (Invalid Units)" 
     return "-1" 

    if pop < 0 or land_area < 0: 
     print "ERROR (Invalid Number)" 
     return "-1" 

    return density 
+0

関数の実行は、リターン後に終了します。 Simliarがループ内でブレークする – GeekSilva

+1

==を使用して比較し、=を割り当てる!タイプミスとして閉じる。 – Li357

答えて

0

発信者に返された機能に戻ることはできません。

ただし、複数の値をtupleとして返すことができます。

たとえば、 return DESTINY, -1となります。

関連する問題