鱼C论坛

 找回密码
 立即注册
查看: 1250|回复: 2

[已解决]《零基础入门python》第18讲动动手0

[复制链接]
发表于 2018-4-3 19:59:52 | 显示全部楼层 |阅读模式
8鱼币
请各位大佬帮忙看看我自己写的代码为什么运行不出来?
  1. while True:
  2.     def MyFunction(*params):
  3.         if MyFunction.pop() == 5:
  4.             base = 5
  5.             for x in MyFunction:
  6.                 result = sum(x)-5
  7.                 print(result)
  8.         else:
  9.                base = 3
  10.                print (sum(x)+3)
  11. MyFunction(3,45,56,12,-34,3.45,33,54,34,54)
复制代码


原题的代码是不是有误呢?
不是说“是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)
复制代码
最佳答案
2018-4-3 19:59:53
MyFunction.pop() == 5 你该用的是参数params[-1]你参数用法没搞明白,而且用了pop你的params传来的参数会少最后一个
for x in MyFunction同上
例子使用了关键字参数,你就这么理解吧,相当于还是把最后一个元素传了,只不过没有用上自动识别最后一个元素

最佳答案

查看完整内容

MyFunction.pop() == 5 你该用的是参数params[-1]你参数用法没搞明白,而且用了pop你的params传来的参数会少最后一个 for x in MyFunction同上 例子使用了关键字参数,你就这么理解吧,相当于还是把最后一个元素传了,只不过没有用上自动识别最后一个元素
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-4-3 19:59:53 | 显示全部楼层    本楼为最佳答案   
MyFunction.pop() == 5 你该用的是参数params[-1]你参数用法没搞明白,而且用了pop你的params传来的参数会少最后一个
for x in MyFunction同上
例子使用了关键字参数,你就这么理解吧,相当于还是把最后一个元素传了,只不过没有用上自动识别最后一个元素
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-4-3 20:07:35 | 显示全部楼层
你第1个代码是什么玩意???

第2个代码base确实没有求和,是求的*
(1+ 2+ 3+ 4+ 5)*5=75

评分

参与人数 1荣誉 +1 鱼币 +1 贡献 +1 收起 理由
drwyatt + 1 + 1 + 1

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-1 02:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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