18讲课后题问题
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)
上面这个代码是不是不对啊?
def mFun(*param, base=3):
result = 0
i = len(param)
if param == 5:
base = 5
for each in param:
result += each
result -= 5
result *= base
print('结果是:',result)
print('base是:',base)
else:
for each in param:
result += each
result *= base
print('结果是:', result)
print('base是:', base)
这样写对吗?
小甲鱼的代码是对的,你这样写不太对,param 不一定等于 base base是关键字参数,你这样写是不对的。
zltzlt 发表于 2020-8-10 10:06
小甲鱼的代码是对的,你这样写不太对,param 不一定等于 base
b) 如果参数中最后一个参数为(base=5),则设定基数为5,基数不参与求和计算。
我以为这句话的意思是 给的数据里最后一位是5的将5设定为基数5,不参与计算 blackfame 发表于 2020-8-10 10:12
b) 如果参数中最后一个参数为(base=5),则设定基数为5,基数不参与求和计算。
我以为这句话的意思是 ...
这道题很具有误导性,题目的意思是设定一个默认值为 3 的参数 base zltzlt 发表于 2020-8-10 10:13
这道题很具有误导性,题目的意思是设定一个默认值为 3 的参数 base
{:5_91:}理解错了,我以为是默认值是3,如果最后一位是5的话,默认值就变成5了
页:
[1]