用Python写出一个1²+2²+3²+…n²<1000求n的最大值

分析:用while...as的写法,当sum的值大于1000时激活else, 打印出n的最大值为n-1。最后求得:n的最大值为14。

n = 1
sum = 0 
while sum<1000:
    sum = sum + n*n
    n+=1
else:
    print(n-1)

其中n的平方可以写成n**2,也可以写成n*n。用while循环,配合else可以更好地在达到目标时跳出循环,不用另外去干涉程序,不过要注意最后的值要减1,因为题目要求sum的值是小于1000,而不是大于1000。如果想再打印出sum的值的话,就得用列表推导式:

print([i**2 for i in range(1,n)])

其实,问题的关键是确定n的值,确定后,问题就好解决了。

希望我的方法对你用。

猜你喜欢

转载自blog.csdn.net/henanlion/article/details/130799652