定义函数中如何把收集参数变成列表?
代码在这def f1(*params,base=3):sum1=0
if params==5:
base=5
del params#忘记了params是元组这个事实
for i in params:
sum1+=i
print(sum1)
else:
for i in params:
sum1+=i
print(sum1*base)python报错后才意识到params是个元组,不能修改。又用了下list(params),结果还是不行,这可咋整。
对应问题
编写一个符合以下要求的函数:
a) 计算打印所有参数的和乘以基数(base=3)的结果
b) 如果参数中最后一个参数为5,则设定基数为5,基数不参与求和计算。
本帖最后由 逃兵 于 2021-1-30 17:37 编辑
函数中添加params = list(params)可以解决这个问题,但是本身不满足尾号是5的情况,后面写了修改后的答案
def f1(*params,base=3):
sum1=0
params = list(params)
if params==5:
base=5
del params#忘记了params是元组这个事实
for i in params:
sum1+=i
print(sum1)
else:
for i in params:
sum1+=i
print(sum1*base) def f1(*params,base=3):
sum1=0
params = list(params)
if params==5:
params.pop()
return f1(*params,base=5)
else:
for i in params:
sum1+=i
print(sum1*base)
逃兵 发表于 2021-1-30 17:33
函数中添加params = list(params)可以解决这个问题,但是本身不满足尾号是5的情况,后面写了修改后的答案
多谢解答,明白是哪的问题了
页:
[1]