' print'有什么区别?和'返回'?

时间:2016-03-12 21:59:05

标签: python printing return

首先,我只是一个初学者,所以请原谅我。 我有一个问题要问"定义一个名为avg的函数。它要求用户输入三个数字并 打印 他们的平均值。" 然后另一个问题是"定义一个名为avg4的函数。它要求用户输入四个数字, 返回 四个数字的平均值"

我想知道这是否是一个技巧问题?因为根据我的理解,' print'在控制台中打印输出,而'返回'是函数的一部分,并且在控制台中实际上没有任何输出。

这是我的第一个问题的代码,第二个问题的区别是什么? (除了四个数字而不是三个数字)

def avg(a, b, c):
    sum = (a+b+c)/3
    return sum

a1 = avg(float(input("First number: ")), float(input("Second number: ")), float(input("Third number: ")))

3 个答案:

答案 0 :(得分:3)

我不知道它是一个技巧,它是一个措辞不好的问题还是作者准确地描述了所需要的......但你应该坚持文字描述并做它所要求的。 None应打印平均值并返回avg4def avg(): """Ask the user for three numbers and print the average""" numbers = [] for i in range(1, 4): numbers.append(float(input('Number {}: '.format(i)))) print('Average', sum(numbers)/3) def avg4(): """Ask the user for 4 numbers and return the average""" numbers = [] for i in range(1, 5): numbers.append(float(input('Number {}: '.format(i)))) return sum(numbers)/4) 应返回平均值。如果以后有任何争议("不做我说的话,做我想做的事情"),你可以正确地声称你做了所做的事。

在高风险的工作环境中,你会回去澄清,所以与任何给你任务的人交谈也是合理的。

create (:Employee { name: "abcd", department: "Human Resources Recruitment" });

match(n:Employee) where n.department =~ '.*\\bHuman\\b.*' return n

答案 1 :(得分:2)

任何函数a都会返回一个值 - 您可以将其指定给名称y或传递给另一个函数b,例如y = a(x)或{{1} }。

在函数定义中,您可以包含任意数量的z = b(a(x))语句:调用函数时,语句将一直执行,直到遇到任何return语句,然后引用return something给予回报;以及任何后面的陈述都会被忽略。

实际上,如果您没有明确键入something语句,则会在函数末尾隐式返回return

None语句不会干扰任何此类语句。它只打印你告诉它的内容,然后代码继续。 打印值不必是从函数返回的值。这是一个很大的不同。

答案 2 :(得分:0)

差异可能很微妙,但如果你把这些词语带到它们的根本意味着它将是一个根本的区别。

返回通常与函数相关联(尽管不一定!)。函数可能会返回一个值,特别是如果您想到 machine 的经典类比中的函数,它会接收某些东西并吐出产品。所以,当x是一个函数或一些类似的结构时,基本上你会说x 返回

Print具有更粗糙的含义,通常只是在屏幕上显示某些内容。你可以打印一些东西,而不是函数的返回,或者你可以完全打印出一个函数。这里的想法是,打印可以被视为特定类型的返回,但不能作为同义词。

详细了解returningprinting