鱼C论坛

 找回密码
 立即注册
查看: 2016|回复: 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 编辑

因为你
  1.    if parameter.pop == 5:
复制代码

这句代码里pop返回的是一个对象
  1. <built-in method pop of list object at 0x000001A990608F00>
复制代码

所以,判断失败,base依旧等于3
最后141=所有参数的和乘以3


  1. def myfun(*parameter,base=3):
  2.     sum = 0
  3.     parameter = list(parameter)
  4.     if parameter.pop() == 5:  #加个括号就好了
  5.         base = 5

  6.     for each in parameter:
  7.         if each != base:
  8.             sum = sum + each * base
  9.     print(sum)
  10.    
  11. myfun(1,2,3,4,5,6,7,8,9,5)
复制代码


修改后,结果200=(1+2+3+4+6+7+8+9)*5
小甲鱼最新课程 -> https://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()这样才对,
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

因为你
  1.    if parameter.pop == 5:
复制代码

这句代码里pop返回的是一个对象
  1. <built-in method pop of list object at 0x000001A990608F00>
复制代码

所以,判断失败,base依旧等于3
最后141=所有参数的和乘以3


  1. def myfun(*parameter,base=3):
  2.     sum = 0
  3.     parameter = list(parameter)
  4.     if parameter.pop() == 5:  #加个括号就好了
  5.         base = 5

  6.     for each in parameter:
  7.         if each != base:
  8.             sum = sum + each * base
  9.     print(sum)
  10.    
  11. myfun(1,2,3,4,5,6,7,8,9,5)
复制代码


修改后,结果200=(1+2+3+4+6+7+8+9)*5
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-22 23:10:11 | 显示全部楼层
满意的话记得设为最佳答案
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-28 14:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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