|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 自然水 于 2017-3-26 23:01 编辑
4. 请问这个函数有多少个参数?
def MyFun((x, y), (a, b)):
如果你回答两个,那么恭喜你错啦,答案是0,因为类似于这样的写法是错误的!
我们分析下,函数的参数需要的是变量,而这里你试图用“元祖”的形式来传递是不可行的。
我想你如果这么写,你应该是要表达这么个意思:
- >>> def MyFun(x, y):
- return x[0] * x[1] - y[0] * y[1]
- >>> MyFun((3, 4), (1, 2))
- 10
复制代码
答案没看明白:
我之前填写的2个,看完答案倒是可以理解为什么事0个。 (参数必须是个变量 或者位置符号? 这么理解)
但是后面那个函数我没明白;这么写的话,应该要先定义 X 和Y是个元组吧? 而且是空元组才行吧?
动动手:
0. 编写一个函数power()模拟内建函数pow(),即power(x, y)为计算并返回x的y次幂的值。
直接使用:
- def power(x,y):
- return(x**y)
复制代码
就能实现,为什么用下面的方法:
- def power(x, y):
- result = 1
-
- for i in range(y):
- result *= x
- return result
- print(power(2, 3))
复制代码
这样需要循环多次。。。有必要么
就是说实际上有些人想要计算元组元素的函数时可能会定义成def MyFun((x, y), (a, b)):这样子
但是这种是不被允许的,所以小甲鱼(老污龟)会给出正确的定义方式还有传入参数时的方法,他应该是想表达实际用函数引用元组元素的实际方法
函数在定义时参数不能为元组,因为元组的值是无法改变的,传入参数是可以为元组
钻研精神不错,赞一个
|
|