Ami*_*Ali -3 python python-2.7
正如您在定义函数时在python中所知,您应该return输入代码来完成函数.在下面的代码中,我该如何完成功能:
def f(x) :
if x == 0:
print 'yes'
print 'no'
print f(2)
Run Code Online (Sandbox Code Playgroud)
当我在打印后在最后一行运行此代码时,会None出现吗?
您不需要结束该函数,如果解释器遇到不在预期缩进上的行,则该函数将"自动结束".但是你试图打印返回值f(2).但f确实会回来None.所以你打印None.不要打印功能,只需调用功能:f(2).
调用f(0)仍然会给你,no yes因为你在检查0后没有停止执行.使用一个else子句或使用return:
def f(x) :
if x == 0:
print 'yes'
else:
print 'no'
f(2)
Run Code Online (Sandbox Code Playgroud)
似乎这个问题不适合你的问题.
如果你这样做
print f(2)
Run Code Online (Sandbox Code Playgroud)
它打印函数返回的任何内容.在您的情况下,函数返回"nothing",因此它隐式返回None- 然后按要求打印.
我看到两个解决方案:
不要打印你不想要的东西:
def f(x) :
if x == 0:
print 'yes'
else:
print 'no'
f(2)
Run Code Online (Sandbox Code Playgroud)如果您希望调用者打印它,请返回一些有用的内容:
def f(x) :
if x == 0:
return 'yes'
return 'no'
print f(2)
Run Code Online (Sandbox Code Playgroud)