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

时间:2016-05-02 04:37:39

标签: 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:

我收到以下错误:

  

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

2 个答案:

答案 0 :(得分:3)

这很容易修复,你只需要在函数末尾添加:并缩进里面的项目。您还需要在函数开头添加global才能更改变量i。另外,不要忘记在最后的else语句后添加代码,或者删除它。对于您的代码,它看起来像:

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

答案 1 :(得分:1)

您的格式有点偏差,看起来您的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)中更改您的参数名称,以免他们发生冲突。