-2

Python関数が何かを返すのを防ぐ方法はありますNoneか? 次のような出力が必要です。

[...]

[...]

しかし、私はいつも得ます:

[...]
なし
[...]

ご要望があれば、ソースコードもアップロードできますが、少し長いです。

ご回答ありがとうございます。

4

3 に答える 3

4

いいえ。を確認してif output is None:、それに応じて出力を変更してください。

于 2015-09-15T19:28:35.867 に答える
2

さて、あなたのコードを見て、「さようなら!合計スコア:9ポイント」という最終結果を生成するコードの最後の行を印刷していると思います。あなたがする必要があるのは、その行を印刷する代わりに、それを返し、以下に示すように関数呼び出しを印刷することです. また、関数は常に、文字列、int、または設定したデータの型を問わず、何かを返します。何も返さないことを選択すると、常に None が返されます。ゲームのセッション間に行のスペースが必要なように見えるので、\n が新しい行を開くためのものであると思っている場合。そうでない場合は、 \n を取り除くことができますが、結果には影響しません。とにかくこれが役立つことを願っています!

def no_name():
    # return the line of code that generates this outcome instead of printing it
    #to get rid of the None.


    return "Goodbye! Total score: 9 points.\n"



print no_name()
于 2015-09-16T03:43:46.960 に答える
2

Python では、式は常に結果を生成する必要があります。関数呼び出しは式であり、ここでも例外ではありません。結果として、関数を含むすべての callableは、その結果が であっても、結果を生成しNoneます。ドキュメントから:

呼び出しNoneは、例外が発生しない限り、常に何らかの値 (おそらく ) を返します。

あなたはただテストすることができますNone

result = functioncall()
if result is not None:
    # ...
于 2015-09-15T19:30:25.220 に答える