鱼C论坛

 找回密码
 立即注册
查看: 2871|回复: 4

[已解决]Python课后习题

[复制链接]
发表于 2020-2-17 22:20:50 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 隋戈子 于 2020-2-17 23:02 编辑

题目:
编写一个符合以下要求的函数:
    a) 计算打印所有参数的和乘以基数(base=3)的结果
    b) 如果参数中最后一个参数为(base=5),则设定基数为5,基数不参与求和计算。


给出的答案:
  1. def mFun(*param, base=3):
  2.     result = 0
  3.     for each in param:
  4.         result += each

  5.     result *= base
  6.    
  7.     print('结果是:', result)

  8. mFun(1, 2, 3, 4, 5, base=5)
复制代码

我的疑惑:
mFun(*param, base=3)中的base=3是形参吗?

我的答案:
  1. def sum(member):
  2.     result = 0
  3.     for each in member:
  4.         result += each
  5.         return
  6.         

  7. def sum1(member):
  8.     if member[-1] != 5:
  9.             base = 3
  10.             result *= base
  11.             print(result)
  12.         
  13.     else:
  14.         base = 5
  15.         result = result - 5
  16.         result *= base
  17.         print(result)
复制代码


运行一下

                               
登录/注册后可看大图


为什么会这样呢?
百思不得解
最佳答案
2020-2-18 11:06:31
你理解错题目了

而且你 sum1 并没有调用,sum1() 才是调用函数
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-2-18 00:11:15 | 显示全部楼层
首先解答你
mFun(*param, base=3) 是形参,*param可变参数(意思就是可传多个参数);base 是固定参数,且已初始化值3

再说你的代码
跟题目沾不上半点边,说得很清楚了,所有参数,你一个列表算所有参数吗?(当然在编程的时候想不到别的办法,用列表当多参数也是个办法)
别怪我说得难听,你的代码就是拖屎
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 0 反对 1

使用道具 举报

发表于 2020-2-18 08:33:41 | 显示全部楼层
看不懂你的,member【-1】什么意思?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-18 11:06:31 | 显示全部楼层    本楼为最佳答案   
你理解错题目了

而且你 sum1 并没有调用,sum1() 才是调用函数
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-18 17:25:19 | 显示全部楼层
zltzlt 发表于 2020-2-18 11:06
你理解错题目了

而且你 sum1 并没有调用,sum1() 才是调用函数

好吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-3 07:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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