|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
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)
不是说最后一个参数为(base=5),基数不参与求和计算。
为什么运行mFun(1, 2, 3, 4, 5, base=5)这个是75,感觉和问题不符合
本帖最后由 Twilight6 于 2020-6-30 17:26 编辑
[b]
我觉得是甲鱼哥的代码有些差错,很多人有这样的疑问了
正确代码应该是这样的:
- def mFun(*param, base=3):
- result = 0
- param = list(param) # 因为 param 默认是元组 不能删除元素 而我们后面需要改变所以要转为列表
- if base == 5: # 判断最后一个参数 基数是否为 5
- for i in param[:]: # 若是 则 5 都不参与求和运算
- if i == 5:
- param.remove(5) # 移除掉 5
- for each in param:
- result += each
- result *= base
- print('结果是:', result)
- mFun(1, 2, 3, 4, 5, base=5)
复制代码
[/b]
|
|