在不使用打印和输入的情况下创建功能

时间:2013-09-13 17:11:57

标签: python python-3.x

我正在使用3个参数创建一个无用的函数,输出为'That was a waste of my time' 我尝试的代码是:

def useless("Hello, 95, "jello"):
   x = 'That was a waste of my time'
   return x

应该有一个输出但没有...而且它还说我在第一行发出语法错误。

输出应为'This was a waste of my time'

我无法发现任何有问题的东西......我该怎么办? 我没有得到输出,我也有语法错误

3 个答案:

答案 0 :(得分:2)

您没有获得任何输出,因为您有语法错误。

您的功能参数无效;它们是a)不是那样有效的Python,而b)不完整:

def useless("Hello, 95, "jello"):

"Hello字符串缺少右括号,但您无法将文字值放在函数头中。删除括号之间的所有内容:

def useless():
    x = 'That was a waste of my time'
    return x

你的其余功能很好:

>>> def useless():
...     x = 'That was a waste of my time'
...     return x
... 
>>> useless()
'That was a waste of my time'

答案 1 :(得分:1)

def useless("Hello, 95, "jello"):
   x = 'That was a waste of my time'
   return x

应该是......

def useless(Hello, value, jello):
   x = 'That was a waste of my time'
   return x

你不能将字符串或int作为变量名。您在设置args时声明变量。

也只是def useless()没有args在你的场景中更好。

答案 2 :(得分:1)

首先,您错过了"中以useless结尾的结束Hello。 Python现在认为你想要包含"Hello, 95, "而在jello它会被混淆为地狱,等等。

此外,您似乎对函数如何使用参数和参数有一个基本的误解。首先,让我们来定义两者之间的差异。
参数是您在定义函数时放入函数的内容:

def Function(parameter_1,parameter_2):
    a = parameter_1
    b = parameter_2

参数同时是您在调用函数时传递给函数的值:

Function(argument_1,argument_2)

用数学术语思考,当你调用X =的函数时?和Y =?,你说:

"call Function, and plug in "value" for x and "value2" for y"

使用这些示例运行,您可以通过两种方式重写函数useless
你不能做任何参数,它总会返回“x”:

def useless():
    x='That was a waste of my time'
    return x

或者,您可以通过函数中的参数传递参数,以便为您的函数提供更大的灵活性:

def useless(x):
    return x

useless('That was a waste of my time')

要么返回同一行。

最后,确保您了解returnprint之间的区别;使用函数时,您并不总是希望打印结果,但仍希望获得它。那是return的工作地点;调用该函数将带回您使用return行所做的任何值。

例如,在我没有参数定义的第一个useless中,函数不接受任何参数,并且在定义时始终返回x

另一个{{1}但是,我定义的本质上是一个“打印”函数,因为它接受你给出的参数并自动返回它。

为什么useless在这些情况下而不是return }?既然您已经print了,那么您可以选择告诉Python return 存储print
感谢useless,您可以写下:

return

print useless(x)

现在,您可以随意使用variable = useless(x) ,即使您只是variable

我希望我的过度解释不会让人不知所措。如果您仍然不理解,请尝试执行Codecademy Python tutorial,这可能会帮助您在概念上掌握所有这些(网站目前并不完全表现,但如果您在{{3}中完成课程},你仍然可以通过教程破解你的方式。)