Python 3.x 方法定义错误:缺少1个必需的位置参数

Python 3.x 方法定义错误:缺少1个必需的位置参数,python-3.x,methods,Python 3.x,Methods,我对编码还不熟悉,在Python方面我是个糟糕的新手。我知道基本的Java、ActionScript、HTML等,但这是我第一次使用Python 我需要做的就是创建一个变量I,给它赋值(比如1),然后将该变量传递给一个方法 单击按钮将激活该方法,并将i变量修改为不同的值 以下是我目前的代码: i = 1 print(i) def record(i) print("film") if i == 1: i=2 elif i == 2: i=1 else: 我得到以下错误: reco

我对编码还不熟悉,在Python方面我是个糟糕的新手。我知道基本的Java、ActionScript、HTML等,但这是我第一次使用Python

我需要做的就是创建一个变量
I
,给它赋值(比如1),然后将该变量传递给一个方法

单击按钮将激活该方法,并将
i
变量修改为不同的值

以下是我目前的代码:

i = 1
print(i)
def record(i)
print("film")
if i == 1:
    i=2
elif i == 2:
    i=1
else:
我得到以下错误:

record()缺少1个必需的位置参数:“i”


您的格式设置有点不正确,而且您的
else
语句似乎没有实际执行任何操作:

i = 1
print(i)
def record(i):
  print("film")
  if i == 1:
    i=2
  elif i == 2:
    i=1
您还将
i
变量用作
record
函数的参数,因此对
i
的任何更改都不会反映在第一行的
i


换句话说,这种方法并没有真正起到任何作用。
i=1
是否打算在课堂外修改
i
?如果是这样,请在
def record(i)
中更改参数的名称,使它们不会冲突。

这很容易解决,只需在函数末尾添加一个
,并缩进函数中的项即可。您还需要在函数开头添加
global
,以便能够更改变量
i
。另外,不要忘记在末尾的
else
语句之后添加代码,或者删除它。对于您的代码,它看起来像:

i = 1 print(i) def record(i): global i print("film") if i == 1: i=2 elif i == 2: i=1 i=1 印刷品(一) def记录(一): 全球i 印刷品(“胶片”) 如果i==1: i=2 elif i==2: i=1
它不仅是“off”,还缺少冒号。值得一提的是,不建议使用全局变量,这是一种不鼓励的做法。