鱼C论坛

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

[已解决]感觉这个题目实现不了啊

[复制链接]
发表于 2018-12-8 14:42:52 | 显示全部楼层 |阅读模式

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

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

x
编写一个符合以下要求的函数:
    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)
最佳答案
2018-12-8 14:54:47
def mFun(*param, base=3):
    result = 0
    for each in param:
        result += each
    if base != 5:
        result *= base
    print('结果是:', result)


mFun(1, 2, 3, 4, 5, base=5)
这样好像就可以了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-12-8 14:54:47 | 显示全部楼层    本楼为最佳答案   
def mFun(*param, base=3):
    result = 0
    for each in param:
        result += each
    if base != 5:
        result *= base
    print('结果是:', result)


mFun(1, 2, 3, 4, 5, base=5)
这样好像就可以了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-8 14:57:23 | 显示全部楼层
本帖最后由 凌九霄 于 2018-12-8 15:14 编辑
  1. def mFun(*param, base=3):
  2.     if param[ -1 ] == 5:
  3.         return sum(param[ :-1 ]) * 5
  4.     else:
  5.         return sum(param) * base
复制代码


题目不是很清楚,如果参数中的最后一个是5,而且中间还有5,除最后的5外,其他5是否参与求和计算?

最后参数是5,所有5不参与求和版本
  1. def mFun(*param, base=3):
  2.     if param[ -1 ] == 5:
  3.         T = (x for x in param if x != 5)
  4.         return sum(T) * 5
  5.     else:
  6.         return sum(param) * base

  7. print(mFun(1, 2, 5, 3, 4, 5))
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-8 15:24:25 | 显示全部楼层
1楼的程序没有问题,可能是题目的描述引起了误解。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-13 02:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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