yuhanhanhan 发表于 2019-10-4 23:03:12

这个python程序为什么会报错NameError: name 'n' is not defined

def f(n):
    if n > 1:
      return f(n-1) + 2
    elif n == 0:
      return 10
    else:
      return 10
n == 5
print(f(n))

为什么这个python程序报错NameError: name 'n' is not defined
我应该怎样改呢

ba21 发表于 2019-10-4 23:09:55

n == 5
n = 5

zltzlt 发表于 2019-10-5 08:05:50

本帖最后由 zltzlt 于 2019-10-5 08:15 编辑

n == 5

多了一个等于号

正确代码:
def f(n):
    if n > 1:
      return f(n-1) + 2
    elif n == 0:
      return 10
    else:
      return 10
n = 5
print(f(n))

heidern0612 发表于 2019-10-5 21:06:22

双等号是判断两边是否相等,单等号是赋值操作。

NikoRobin 发表于 2019-10-5 22:41:38

n = 5
多了个等号
页: [1]
查看完整版本: 这个python程序为什么会报错NameError: name 'n' is not defined