機能None
を返します。
>>> def foo():
... print("Hello")
...
>>> f = foo()
Hello
>>> f is None
True
あなたはこの、いくつかの値を返すために、あなたの関数の最後にreturn
を使用したくない場合。
その他のヒント。
現在、あなたの関数は、入力を取得してリストを作成して、とを合計するすべてのもの:
だけ一つのことを行うあなたの機能を確認します。これはたくさんあります。関数を小さくすると、いくつかのメリットが得られます。 Pythonのビルトインをシャドウしないでください
num_elements = prompt_for_number_of_inputs()
my_list = prompt_for_elements(num_elements)
print("The sum of all the elements is {0}".format(sum_elements_in_list(my_list))
を::
あなたは、変数と同じことを呼び出す場合
def prompt_for_number_of_inputs():
return int(input("How many elements are there in the list? ")
def prompt_for_elements(num_elements):
return [int(input("Enter a number: ")) for _ in range(num_elements)]
def sum_elements_in_list(li):
return sum(li)
ので、あなたはこのようにそれを使用する可能性があります:あなたはこのような何か考えるかもしれませんPythonの組み込み関数として、あなたは困っているでしょう。 (上記見られるように)通常
>>> a = list()
>>> a
[]
>>> list = [1,2,3]
>>> a = list()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'list' object is not callable
list()
は空のリストを作成しますが、あなたが名前list
にオブジェクトをバインドしましたので、これは不可能です:ここを参照してください。 hereをシャドーイングできる他の組み込み関数を見てください。
1)あなたは機能2から 'return'を使用する必要があります)あなたが同じの機能をオーバーライドするため、' list'リストを呼び出すしないでください名前 – dawg
関数が何かを返すようにするには、return文が必要です。 –
「うまくいきません」というのはあまり役に立ちません。何がうまくいかない?どのように機能しないのですか? – Li357