鱼C论坛

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

[已解决]016序列里面动动手答案,改进sum()

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

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

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

x
sum() 这个BIF有个缺陷,如果参数里有字符串类型的话就会报错,请写出一个新的实现过程,无视字符串并返回正确的计算结果

我自己尝试的时候为什么return会报错啊
小求解
最佳答案
2018-2-13 07:15:13
  1. def sum(x):
  2.     result = 0

  3.     for each in x:
  4.         if (type(each) == int) or (type(each) == float):
  5.             result += each
  6.         else:
  7.             continue

  8.     return result


  9. print(sum([1, 2.1, 2.3, 'a', '1', True]))
复制代码

你的缩进错了。

return报错

return报错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-2-13 07:15:13 | 显示全部楼层    本楼为最佳答案   
  1. def sum(x):
  2.     result = 0

  3.     for each in x:
  4.         if (type(each) == int) or (type(each) == float):
  5.             result += each
  6.         else:
  7.             continue

  8.     return result


  9. print(sum([1, 2.1, 2.3, 'a', '1', True]))
复制代码

你的缩进错了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-13 08:53:42 | 显示全部楼层
注意缩进...for循环体和return语句都要包含在函数体内。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-13 11:08:35 | 显示全部楼层
1,回答你的问题:缩进问题
2,应该return result吧
3,提问格式不太好,代码应该直接贴出来最好不要用截图,报错也应该贴出来
4,函数取名字不要和内置函数重复(习惯不好)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-19 08:10

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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