-4

我试图理解返回和打印之间的区别(我得到了它背后的理论,但是在实际设计代码时,我对它们之间的区别有点迷茫)。我正在尝试重复输入字符串中的中间字符以及重复(int)。

为什么这不起作用?在 python idle 或 ion codewrite 中?

def mid_repeated (st, rep):
if len(st)%2==0: 
    middle = (len(st)/2) 
    center = (st[middle])*rep
    rep = "!"*rep
    return center + " " + str(rep)
else: 
    middle = (len(st)/2) 
    center = (st[middle])*rep
    rep = "!"*rep
    return center + " " + str(rep)
return mid_repeated
4

3 回答 3

1

一旦函数返回一些东西,它就会中断。这可能是你想知道的。

但是,我不确定您要通过返回函数本身来完成什么。你可能想再看一遍。

于 2013-10-19T06:08:40.430 回答
0

和...之间的不同

def a(x):
    print x

def b(x):
    return x

是他们做不同的事情。(不完全是?)

a()输出给定的“事物”,x并且(隐式)返回None

b()除了返回之外什么都不做x

如果你这样做,差异会变得更明显

def examine(function):
    print "Calling:"
    ret = function(42)
    print "Call done."
    print "Function returned", ret

如果我使用这个函数来检查我的函数,

examine(a)

印刷

Calling:
42
Call done.
Function returned None

因此您可以清楚地看到42在函数运行时打印了 并且函数的返回值为None.

哦,

examine(b)

印刷

Calling:
Call done.
Function returned 42

这证明该函数除了将提供的值返回给调用者(作为返回值)之外什么都不打印,调用者可以在适当的时候打印它,或者用它做任何其他事情。

其他观点:print立即打印给定的值,return只是将其提供给调用者以执行所需的任何操作。

于 2013-10-19T10:02:58.843 回答
0

我不确定这是否有帮助,但返回,返回一些可以在函数之外使用的东西,作为打印,只是打印一些东西......

于 2013-10-19T08:31:58.050 回答