鱼C论坛

 找回密码
 立即注册
查看: 2166|回复: 5

[已解决]18讲动动手第0题 0. 编写一个符合以下要求的函数: a) 计算打印所有参数的和乘...

[复制链接]
发表于 2019-3-25 15:38:08 | 显示全部楼层 |阅读模式

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

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

x
18讲动动手第0题
0. 编写一个符合以下要求的函数:
    a) 计算打印所有参数的和乘以基数(base=3)的结果
    b) 如果参数中最后一个参数为(base=5),则设定基数为5,基数不参与求和计算。
我用了以下代码,受上面17讲影响用了pop。但是报错提示:‘tuple' object has no attribute 'pop'.
萌心求姐
def base(*num):
     result=0
     for each in num :
       result+=each
     if num.pop()!=5:
        result*=3
     else:
          result*=5
     print(result)
base(1,2,3,4)
最佳答案
2019-3-25 16:10:24
def base(*num):
    return print(3*sum(num) if num[-1]!=5 else 5*sum(num))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-3-25 15:41:46 | 显示全部楼层
*num收集参数,num是元组不是列表,列表才有pop函数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2019-3-25 15:54:08 | 显示全部楼层
塔利班 发表于 2019-3-25 15:41
*num收集参数,num是元组不是列表,列表才有pop函数

请问下这个代码怎么改才能运行
我改了一下,提示说给了4个值,不是元祖吗
def base(*num):
     list(base)
     result=0
     for each in num :
       result+=each
     if num.pop()!=5:
        result*=3
     else:
          result*=5
     print(result)
base(1,2,3,4)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-25 16:10:24 | 显示全部楼层    本楼为最佳答案   
def base(*num):
    return print(3*sum(num) if num[-1]!=5 else 5*sum(num))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-28 15:10:53 | 显示全部楼层
请问“”基数不参与求和运算“”是什么意思,我的理解是如果输入参数是1,2,3,4,5,那么应该计算1+2+3+4的值,再乘以5,但是我发现最佳答案和小甲鱼的答案好像不是这个意思?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-12 19:25:42 | 显示全部楼层
本帖最后由 plovelove 于 2021-10-12 19:59 编辑
yrhhh 发表于 2020-7-28 15:10
请问“”基数不参与求和运算“”是什么意思,我的理解是如果输入参数是1,2,3,4,5,那么应该计算1+2+3+4 ...


(1+2+3+4+5)*5 ,如果最后一个参数是5,就乘以5
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-13 02:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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