我的自制代码遇到了一些问题。
def even(a, b):
f = []
while a <= b:
if a % 2 == 0:
f.append(a)
a = a + 1
return f;
当我试图从shell调用它时,它说:
Traceback (most recent call last):
File "<pyshell#43>", line 1, in <module>
even(0,200)
NameError: name 'even' is not defined.
我认为这不是一个非常棘手的问题,但你能帮我吗? 先谢谢你了。 干杯
答案 0 :(得分:0)
两件事。你是否正确缩进你的功能,你如何调用你的功能?以下代码有效:
def even(a, b):
f = []
while a <= b:
if a % 2 == 0:
f.append(a)
a = a + 1
return f;
print(even(2,3))
#output: [2]
注意缩进以及甚至在定义后调用它的事实。
编辑:我注意到你已经开始工作,现在是修改你的功能的某些部分的好时机,即给变量f一个更具描述性的名称。
答案 1 :(得分:0)
如果您想从shell运行它,您可能希望:
python
输入shell,启动您的python解释器from <your-code's-filename.py> import even
然后您可以尝试使用该功能:even(0,200)
但你也可以像在Wright建议的那样在IDLE中运行它。