老哥们,求解释这个python程序和说明
0. 编写一个符合以下要求的函数:a) 计算打印所有参数的和乘以基数(base=3)的结果
b) 如果参数中最后一个参数为(base=5),则设定基数为5,基数不参与求和计算。
def mFun(*param, base=3):
result = 0
for each in param:
result += each
result *= base
print('结果是:', result)
mFun(1, 2, 3, 4, 5, base=5)
老哥们这个b条件是怎么实现的啊?我怎么看不出程序里哪条是判断param里最后一个参数是5的呢?还是我理解错了?? *param 把 base = 5 前面的参数打包成一个元组(1, 2, 3, 4, 5)这个元组里面的5不是base = 5 里面的 5 ,base值本身就没有参与求和计算。 它这里写了一个base = 5mFun(1, 2, 3, 4, 5, base=5)
覆盖了定义函数时默认的base = 3 的值def mFun(*param, base=3):
如果你这样调用函数 mFun(1, 2, 3, 4, 5),那么base 的值还是3 unicn 发表于 2020-9-26 01:08
*param 把 base = 5 前面的参数打包成一个元组(1, 2, 3, 4, 5)这个元组里面的5不是base = 5 里面的 5 ...
这个程序里没有判断最后的参数,而是在调用函数mFun(1, 2, 3, 4, 5, base=5),的时候,人为判断了输入的最后参数为5,然后直接设置了base = 5。所以运行的结果没有错。但在程序里并没有判断最后一位参数是否为5。
页:
[1]