2016-05-02 15 views
-3

私はコーディングが新しく、私はPythonで恐ろしいnoobです。私は基本的なJava、ActionScript、HTMLなどを知っていますが、これは初めてPythonを使用しています。メソッド定義のエラー:ありません1必要な位置引数

私がする必要があるのは、変数iを作成し、それに数値(1としましょう)を割り当て、その変数をメソッドに渡すだけです。

このメソッドはボタンをクリックするとアクティブになり、i変数を別の値に変更します。ここで

は、これまでの私のコードです:

i = 1 
print(i) 
def record(i) 
print("film") 
if i == 1: 
    i=2 
elif i == 2: 
    i=1 
else: 

は、私は次のエラーを取得する:

record() missing 1 required positional argument: 'i'

答えて

1

あなたの書式は少しオフになっている、そして、あなたのelse文は実際にやっていないように見えます任意:

i = 1 
print(i) 
def record(i): 
    print("film") 
    if i == 1: 
    i=2 
    elif i == 2: 
    i=1 

また、パラメータとしてi変数を使用していますeterをrecord関数に追加すると、iへの変更は、最初の行のiに反映されません。

つまり、この方法は実際に何もしていません。 i=1はクラス外のiを変更する予定ですか?その場合は、パラメータの名前をdef record(i)に変更して、競合しないようにします。

+2

それだけでなく、そのコロンもありません。 – donkopotamus

3

これは修正するのは簡単ですが、機能の最後に:を追加し、内側に項目をインデントする必要があります。変数iを変更できるようにするには、関数の先頭にglobalを追加する必要があります。また、最後にelseステートメントの後にコードを追加するか、削除することを忘れないでください。あなたのコードでは、次のようになります:

 
i = 1 
print(i) 
def record(i): 
    global i 
    print("film") 
    if i == 1: 
     i=2 
    elif i == 2: 
     i=1 
+2

グローバル変数を使用することはお勧めできませんが、お勧めできません。 –

関連する問題