プロが教える店舗&オフィスのセキュリティ対策術

プログラミング初心者です。pythonの勉強をしています。
以下のコードをターミナルで入力するのとテキストエディタで入力するのとで結果が違います。VScodeで、ターミナルはpowershellを使っています。

def add_10(num):
if not isinstance(num,int):
print("Invalid Number")
return False
add_num = num +10
print("add_num is {}".format(add_num))
return add_num

add_10("10")

ターミナルで実行すると

Invalid Number
False
と表示されますが、テキストエディタで入寮kすると
Invalid Number
とのみ表示され、Falseが表示されません。
これはどういうことでしょうか?

よろしくお願いします。

A 回答 (2件)

> そのfalseですが、テキストエディタで保存し、そのファイルを実行するとなぜ結果にfalseが表示されないのでしょうか?



保存したプログラムに、表示する処理が書かれていないからです。
表示したければ、例えば
 print ( add_10("10") )
のように、add_10関数の返り値を表示する処理を記述する必要があります。


No.1で回答したようにfalseと表示するのは「対話モード」だからです。
「対話モード」では、入力した内容を評価(実行)し、その結果(返り値)を表示するという「対話」機能があるということです。
    • good
    • 0
この回答へのお礼

ありがとうございます。よくわかりました。

お礼日時:2018/07/06 17:14

> ターミナルで実行すると



これってpythonの対話モードの話ですよね?
それならば
add_10("10")
という入力を評価した結果、返り値がFalseなので、それが表示されているだけです。


以下の動作と同じことを行っているだけです。
>>>1
1
>>>1+2
3
>>>False
False
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
そのfalseですが、テキストエディタで保存し、そのファイルを実行するとなぜ結果にfalseが表示されないのでしょうか?

お礼日時:2018/07/04 20:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!