鱼C论坛

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

python018课后问题

[复制链接]
发表于 2019-2-18 18:01:13 | 显示全部楼层 |阅读模式

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

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

x
Image.png

这个题题目没看懂,最后的答案也是无厘头,base=5不是可以直接覆盖掉base=3吗?(a)的作用没有看出来啊。求大佬解答一下,有点懵
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-2-18 18:25:51 | 显示全部楼层
1、你说的(a)是个啥?

2、base = 5覆盖掉base = 3没错啊,base就是基数,默认为3。

基数本身也没参与求和计算,参与的所有参数最后的乘积运算啊。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2019-2-18 19:13:52 | 显示全部楼层
这道题的意思就是:如果base=3,则输入的所有数字都要乘以3;如果base=5,则不用乘以base指向的值(在这里也即是5啦,因为5会覆盖掉3嘛)。
a)的作用只是对于base=3时,所有输入的数字乘以3而已。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-22 13:52:37 | 显示全部楼层
复制到idle自己操作2次,我是这样理解的。
这是一个练习,base=5 自己操作后就会知道5是可以覆盖3.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-2-24 21:32:16 | 显示全部楼层
freecain 发表于 2019-2-22 13:52
复制到idle自己操作2次,我是这样理解的。
这是一个练习,base=5 自己操作后就会知道5是可以覆盖3.

我猜应该就是这样的,谢谢啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-24 22:29:27 | 显示全部楼层
答案是有问题的吧,逻辑判断应该放在函数内,直接修改参数确是容易让人不理解。
  1. def func(*args, base=3):
  2.     result = 0
  3.     if args[-1] == 5:
  4.         base = 5
  5.         args = args[:-1]
  6.     for i in args:
  7.         result += i
  8.     result *= base
  9.     print('结果是:', result)
  10.    
  11. func(1,2,3,4) # 30
  12. func(1,2,3,4,5) # 50
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 03:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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