鱼C论坛

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

[已解决]result = 0 的意思

[复制链接]
发表于 2018-4-12 19:45:38 | 显示全部楼层 |阅读模式

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

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

x
今天在一个Python的一个代码里看到的 result = 0但是一直不能理解是什么意思求各位大神帮帮忙


def sum(x):
    result = 0
   
    for each in x:
        if (type(each) == int) or (type(each) == float):
            result += each
        else:
            continue

    return result

print(sum([1, 2.1, 2.3, 'a', '1', True]))

这个是整体的代码
最佳答案
2018-4-12 22:13:50
拿你的例子来说,程序运行先从print这一行开始。
运行到sum函数时,result被赋了一个值0,然后判断x的第一个元素“1”是int类型的,故执行result+=each,此时each为1,result为0,所以若初始的result不赋0的话,你最后得到的结果就不是x里所有数字的和,而是加上了初始的result的值。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-4-12 19:59:15 | 显示全部楼层
初始化一个变量并赋值为0

a = 0 能不能理解?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-12 22:10:31 | 显示全部楼层
result想在下面能+=操作,要对其先定义,而求和要使用+=,所以只能是0开始,不然和都跑偏了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2018-4-12 22:13:50 | 显示全部楼层    本楼为最佳答案   
拿你的例子来说,程序运行先从print这一行开始。
运行到sum函数时,result被赋了一个值0,然后判断x的第一个元素“1”是int类型的,故执行result+=each,此时each为1,result为0,所以若初始的result不赋0的话,你最后得到的结果就不是x里所有数字的和,而是加上了初始的result的值。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-12 22:30:28 | 显示全部楼层
result用来返回int、float类型的个数。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-12 23:17:22 | 显示全部楼层
学到了关于 type() 函数的一种用法,感谢分享
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-23 00:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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