|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
def myfun(*parameter,base=3):
sum = 0
parameter = list(parameter)
if parameter.pop == 5:
base = 5
for each in parameter:
if each != base:
sum = sum + each * base
print(sum)
-----------------------------------
>>> myfun(1,2,3,4,5,6,7,8,9,5)
141
0. 编写一个符合以下要求的函数:
a) 计算打印所有参数的和乘以基数(base=3)的结果
b) 如果参数中最后一个参数为(base=5),则设定基数为5,基数不参与求和计算。
代码不知道哪里错了
141也不知道如何计算出来的
本帖最后由 昨非 于 2020-10-22 23:10 编辑
因为你
这句代码里pop返回的是一个对象
- <built-in method pop of list object at 0x000001A990608F00>
复制代码
所以,判断失败,base依旧等于3
最后141=所有参数的和乘以3
- def myfun(*parameter,base=3):
- sum = 0
- parameter = list(parameter)
- if parameter.pop() == 5: #加个括号就好了
- base = 5
- for each in parameter:
- if each != base:
- sum = sum + each * base
- print(sum)
-
- myfun(1,2,3,4,5,6,7,8,9,5)
复制代码
修改后,结果200=(1+2+3+4+6+7+8+9)*5
|
|