2017-12-12 21 views
-5

これは私の2日目の自宅でのPythonの学習です。 if文の中にdef関数を置くことができるかどうかは不思議です。 例:私は、if文Pythonで私のコードに何が間違っていますか?

if result == 40: 
    print ("we made it") 
else: 
    print ("Nooope") 

の上に置いたとき

def result(variable_1, variable_2): 
    return variable_1 + variable_2 

print(result(20,20)) 

今私達の結果があるため、コードvariable_1の40 + variable_2 になりますが、私は常に取得結果がこれです:

40 
"Nooope" 

なぜか分かりますか?それは私の結果だって、右が40であり、これが唯一の20 + 20の結果を印刷し、「結果」にオペの結果を保存していない40

+2

インデントを修正してください。そして以下のコメントを明確にする。 –

+0

あなたが望むものを理解することは容易ではありませんか?もしあなたがdefを入れたらどういう意味ですか? 'i * def * f'をしたいですか?それはifをdefに入れると説明することもできます。あなたの質問を明確にしてください。 –

+2

関数定義をif文の本文に入れることはできますが、(なぜなら)この文脈ではなぜそうしたいのかと困惑しています。あなたは 'result(20、20)== 4'と言っていますか?それも有効です。 – Neil

答えて

0
print(result(20,20)) 

に等しい「我々はそれが作られた」である必要があります、 "result"は関数の名前です。

<function result at 0x4095ed8> 

実際funcitonオブジェクトです:あなたは、print resultがもたらすであろうことを

answer = result(20,20) 
print answer 
if answer == 40: 
    print ("we made it") 
else: 
    print ("Nooope") 

テイクノートを戻り値を保存したい場合。

少し明確にすることをお勧めします。

+0

本当にありがとうございます!それはとても大事な人です!神のご加護を ! –

+0

私はそれを<3^_ ^ –

関連する問題