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

为什么这么写就是timeout,难道是死循环了

L = []

while True:

    x = 1

    x += 1

    a = x * x

    L.append(a)

    

    if x > 100:

        break

print sum(L)


正在回答

3 回答

因为每次迭代都给x赋值1,当然是死循环,正确代码应该是把x=1放在while true前面

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

little_sun66 提问者

非常感谢!
2018-02-11 回复 有任何疑惑可以回复我~

因为x在循环内赋值了

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

在循环体里面每次都给x赋值1,循环体的第二行又加一,那么这样循环控制变量x的值永远不会超过100,也就无法跳出循环,根本不可能执行到if判断语句,建议把x放在while循环外

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

举报

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

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

进入课程

为什么这么写就是timeout,难道是死循环了

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