私はインタプリタで、Pythonでは、True == 1
はTrue
と評価されています。つまり、int(True)
の出力は1
です。int( "True")とfloat( "True")がPythonで動作しないのはなぜですか?
I入力float("True")
通訳が戻る場合:
ValueError: could not convert string to float: 'True'
をI入力int("True")
通訳戻ります場合:
ValueError: invalid literal for int() with base 10: 'True'
これはなぜですか? True
とFalse
はそれぞれ1
と0
に等しいので、動作しませんか? ValueErrorの原因は何ですか?int()
?
引用符を削除して試してみてください –
"True"はTrueとは異なる文字列です。 int(True)を試してみてください。 – newacc2240
'int'または' float'の内部にはおそらく何らかの型検出条件があり、型がブール値なら 'True'を' 1'または 'False'に' 0'に変換できます。タイプが文字列の場合、文字列は実際の数字の表現として解釈されます。 '' 5 ''や' '2.6''ならば、エラーが発生します。文字列 '' True ''の特別な扱いはなく、' 'Floccinaucinihilipilification" '' –