Python课后习题
本帖最后由 隋戈子 于 2020-2-17 23:02 编辑题目:
编写一个符合以下要求的函数:
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(*param, base=3)中的base=3是形参吗?
我的答案:
def sum(member):
result = 0
for each in member:
result += each
return
def sum1(member):
if member[-1] != 5:
base = 3
result *= base
print(result)
else:
base = 5
result = result - 5
result *= base
print(result)
运行一下
https://i.loli.net/2020/02/17/auqtLmPnBMpiAsY.png
为什么会这样呢?
百思不得解 首先解答你
mFun(*param, base=3) 是形参,*param可变参数(意思就是可传多个参数);base 是固定参数,且已初始化值3
再说你的代码
跟题目沾不上半点边,说得很清楚了,所有参数,你一个列表算所有参数吗?(当然在编程的时候想不到别的办法,用列表当多参数也是个办法)
别怪我说得难听,你的代码就是拖屎
看不懂你的,member【-1】什么意思? 你理解错题目了
而且你 sum1 并没有调用,sum1() 才是调用函数 zltzlt 发表于 2020-2-18 11:06
你理解错题目了
而且你 sum1 并没有调用,sum1() 才是调用函数
好吧
页:
[1]