鱼C论坛

 找回密码
 立即注册
查看: 1749|回复: 3

[已解决]python作业题

[复制链接]
发表于 2020-10-22 22:52:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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:09:24
本帖最后由 昨非 于 2020-10-22 23:10 编辑

因为你
   if parameter.pop == 5:
这句代码里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
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-10-22 23:09:21 | 显示全部楼层
141是因为基数还是3,3不参与计算。然后1+2+...+7+8+9+2=47,47*3=141。最后的2是因为我用5=3+2,顶替前面的3。基数没改变,是因为parameter.pop()这样才对,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-22 23:09:24 | 显示全部楼层    本楼为最佳答案   
本帖最后由 昨非 于 2020-10-22 23:10 编辑

因为你
   if parameter.pop == 5:
这句代码里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
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-22 23:10:11 | 显示全部楼层
满意的话记得设为最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-18 07:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表