2017-02-28 11 views
-1

次のコードはNoneを印刷してから入力します。 print関数で文字列を渡すと、その文字列が出力され、次にNoneが入力され、入力が必要です。 Noneはなぜ印刷されますか?コードが出力され、入力を求められません。どうして?

input(print()) 
+0

'print'が何も返さないためですか? – Li357

+1

printステートメントはNoneを返すので、返されたすべての印刷で入力を要求しています – abccd

+0

入力を書き込んでも(print( "Please item in item"))、返されたものが常に出力されるべきですか?次にNoneを書く –

答えて

0

あなたは別の関数内の機能を持っている:

input(print()) 

したがって、どのような括弧の中では、最初に実行されます。 print文はinput()関数が任意の値を受け取るません、何も返さない、次のようになりますどのので:

input(None) 

input()関数が括弧の間には何も出力しますので、それは「None」を印刷していない、とのことを、以下の同じ行で、あなたの入力を待ちます。その後、文字列を入力してEnterキーを押すと、その文はどこにも格納されないため、終了します。あなたがシェルの中にいれば、アポストロフィの間に入力した行が印刷されます。

+0

voidが返されたときに混乱は実際に他の言語と同様に直面しました。 /値。通常の場合は何も印刷されません。 Pythonはこれをかなり異なった方法で演奏します。しかし、今私はコンセプトを得る。 –

+0

ええ、C + +に比べて、Pythonは高水準言語であり、以前と比べて動作が異なります。とにかく、私の答えの横にある目盛りを選んでください。ありがとう。 –

関連する問題