-1
写一个while循环,当平方和1^2 + 2^2 + 3^2 + ...超过输入m时退出。打印小于m的最大总数和总和中的项数。任何人都可以协助完成这项任务吗?
Example: If m = 18 then
1^2 +2^2 + 3^2 = 1 + 4 + 9 = 14
1^2 +2^2 + 3^2 + 4^2 = 1 + 4 + 9 + 16 = 30
因此,你应该打印出3和14 M = 18
这是我到目前为止,和我基本上完全在这一点上失去了:
def sum_printer():
y = input("Please enter a maximum number: ")
y = int(y)
for result in range(y):
while result + result ** 2 >= y:
break
else:
print(str(result) + "^2 =", result ** 2, end=" ")
def sum_of_squares_result(m, n):
return sum(result ** 2 for result in range(m, n))
sum_printer()
无法弄清楚我应该从哪里出发。计算平方和不是一个问题,当平方和超过用户输入时,也不会打破for循环。我只是不知道如何根据输入打印3和14。
谢谢!似乎我没有必要让它变得太复杂了。 – Mike