018
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)
这道题不是太明白,如果最后mfun中写有base=5,那def mfun中还要定义base=3 干嘛?如果只写默认参数base就可以了。不用谢base=3, 而且就是写了也不符合a里面乘以基数3的要求呀?
甲鱼哥这里测试调用时候是测试设置 base = 5 的情况,而在这之前默认值都是为 3
如果你没用设置默认值,那么 a 题意就不满足了,而甲鱼哥测试代码只写了 b 题的测试而已
1,这样做的意义是如果不设置base的值的话,让它默认为3。
2,怎么不符合呢?
假设param为(1,2,3,4,5), base为3,
那么结果就应该是(1 + 2 + 3 + 4 + 5) * 3 因为小甲鱼这里在测试调用时候,是用测试设置 base = 5 的情况,你如果不改,前面的base的默认值是3,那这不是起冲突了吗?
写了符合啊,哪里不符合要求,你的要求是乘以基数3,然后,我把代码运行了一下,结果是
(1 + 2 + 3 + 4 + 5) * 3 只要它前面的param为(1,2,3,4,5), base为3,就完全没有问题,你再看看是不是这样。
页:
[1]