为了账号安全,请及时绑定邮箱和手机立即绑定

为什么sum=0写的顺序不一样,结果还不通??

def square_of_sum(L):
    sum = 0
    for x in L:
        sum = sum + x * x
    return sum
print square_of_sum([1, 2, 3, 4, 5])
print square_of_sum([-5, 0, 5, 15, 25])

def square_of_sum(L):
    for x in L:
     sum = 0
        sum = sum + x * x
    return sum
print square_of_sum([1, 2, 3, 4, 5])
print square_of_sum([-5, 0, 5, 15, 25])

结果是不一样的?这个是什么规则?

正在回答

2 回答

sum=0应该放在循环外作为这个变量初始化

0 回复 有任何疑惑可以回复我~

因为 第二种方式 你将sum=0放入for循环中,就相当于你每执行一次循环就会运行一遍sum=0.所以最后你第二种方式的前四次循环结果都为0,就只有5^2的结果

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758623    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

为什么sum=0写的顺序不一样,结果还不通??

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信